正则表达式
正则是自定义一个表达式作为规则,然后一段文字去判断是否匹配这个表达式。
表达式组成:
一、字符内容
[ ] :可以是这里面的任何字符,比如[abc], [A-Z] : "-"表示区间范围,从A到Z
“^”表示取反,对后面的字符生效
\d:数字。 \D: 非数字,也就是 [^\\d]。在java程序中,要转义为"\\d"
“.” 表示任意字符。 “\.”表示“.” 。
“[A-z]”表示所有的大小写字母 。 [^A-z0-9]:表示非字母数字的字符,比如空格,符号等。
[ _ ^A-z0-9] : "\w"表示:下划线和[^A-z0-9] 。"\W":即“^\w” 。这些转义字符,大写字母的,是对小写字母的取反。
\S 表示:空格、tab、回车
二、数量
{ } : 表示前面的定义的字符出现的次数,比如{5}
* :任意次
+ :>0次, 即:{1,} 至少一次
?:0或1次,即{0,1} 逗号表示“或”
例子:[0-9]
[0-9]{1,2}
[0-9]+bc :加号修饰[0-9]出现的次数。
[^0-9]bc : 非数字和bc拼接
三、使用正则表达式,查找匹配字符串
使用java提供的Pattern和Matcher对象
例子:
1 Pattern p=Pattern.compile("@\\w+\\s"); 2 3 String str="@tom @lucy 这是我的电子邮件,给我发邮件吧!abc@126.com"; 4 5 Match m=p.matcher(str); 6 7 while(m.find()){ 8 9 System.out.println(m.group); //m.group()返回匹配的字符串 10 }
打印结果:
@tom
@lucy
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏