java正则表达式

Java正则表达式语法

Mark Utility Equivalent Demo
^ 匹配输入字符的开始位置
$ 匹配输入字符的结束位置
or
[a-z] 所有小写
[A-Z] 所有大写
[xyz] [字符集合] 匹配xyz中任意一个字符 如yoga可匹配y
[^xyz] [负值字符集合] 匹配未包含的任意字符 如yoga可匹配oga
\d和\D 数字和非数字
\s 匹配任何不可见字符 [\f\n\r\t\v]
\S 任何可见字符 [^\f\n\r\t\v]
\w 匹配任何unicode字符
* 匹配前面的表达式任意次 {0,} zo*可匹配z,zo,zoo...
+ 匹配前面的表达式>0次 {1,} zo+可匹配zo,zoo...
? 匹配前面的表达式0或1次 {0,1} zo?可匹配z或z0
{n} n是非负整数,匹配确定的n次 o{2}不能匹配bob,但可以匹配food
{n,} 至少匹配n次 o{2,}可匹配fooooot
{n,m} 匹配n到m次 注意n,m之间不能有空格
? 跟在其他符号后面,表示非贪婪模式(尽可能少地匹配),默认是贪婪模式 如对于"foooot",o+?仅匹配单个o,而o+则匹配所有o
. 匹配除"\r\n"以外的任何字符
\(\) 将\(和\)之间的内容定义为group
(p) [获取匹配] 匹配p规则,并从产生的matcher中获取pattern 含"("的匹配符使用\\(转义
(?:p) [非获取匹配] 匹配但不获取结果
(?=p) [正向肯定预查]在任何匹配p的字符外开始查找 window(?!2000|98|7)能匹配win7不能匹配win10
(?!p) [正向否定预查] 在任何不匹配p的字符串中开始查找 window(?!2000|98|7)能匹配win10不能匹配win7

你可能感兴趣的:(java正则表达式)