一:什么是正则表达式
1.定义:
正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
2.用途:
- 字符串匹配(字符匹配)
- 字符串查找
- 字符串替换
- 字符串分割
例如:
- 从网页中揪出email地址
- IP地址是否正确
- 从网页中揪出链接
3.java中处理正则表达式的类:
- java.lang.String
- java.util.regex.Pattern:模式类:字符串要被匹配的这么一个模式,该模式本身已经被编译过,使用的话效率要高很多。
- java.util.regex.Matcher:匹配类:这个模式匹配某个字符串所产生的结果,这个结果可能会有很多个。
4:下面通过一个小程序简单介绍一下正则表达式
下面是打印结果
现在通过一些实验来说明正则表达式的匹配规则,这儿是Greedy方式
. 任何字符
a ? a一次或一次也没有
a * a零次或多次
a+ a一次或多次
a { n }? a恰好 n 次
a{n,}? a 至少n次
a { n , m }? a至少n次,但是不超过m次
[abc] a 、 b 或 c (简单类)
[^abc] 任何字符,除了 a 、 b 或 c (否定)
[a-zA-Z] a 到 z 或 A 到 Z ,两头的字母包括在内(范围)
[a-d[m-p]] a 到 d 或 m 到 p : [a-dm-p] (并集)
[a-z&&[def]] d 、 e 或 f (交集)
[a-z&&[^bc]] a 到 z ,除了 b 和 c : [ad-z] (减去)
[a-z&&[^m-p]] a 到 z ,而非 m 到 p : [a-lq-z] (减去)
\d 数字: [0-9]
\D 非数字: [^0-9]
\s 空白字符: [ \t\n\x0B\f\r]
\S 非空白字符: [^\s]
\w 单词字符: [a-zA-Z_0-9]
\W 非单词字符: [^\w]
边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界
\B 非单词边界
\A 输入的开头
\G 上一个匹配的结尾
\Z 输入的结尾,仅用于最后的结束符(如果有的话)
\z 输入的结尾
方法解析
matches():匹配整个字符串
find():匹配子字符串
lookingAt():永远从整个字符串的开头开始匹配
字符串替换:下面这种方法对于字符串替换非常灵活
结果打印:
分组
最后欢迎点赞,评论,转发,关注!!!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/84423.html