JAVA正则表达式

来源:互联网 发布:网页在线客服源码 编辑:程序博客网 时间:2024/06/08 03:56

量词

+ 至少一次                等价于{1,}? 至多一次               等价于{0,1}* 0到无穷多次             等价于{0,}

(“a”.matches(“.”));//.是任意字符(只限一个) T
(“aaaa”.matches(“a*”)); 输出T
(“aaaa”.matches(“a+”));输出T
(“”.matches(“a*”)); 输出T
(“aaaa”.matches(“a?”));输出T
(“”.matches(“a?”));输出T

\d+ 验证数字字符串
(ac)+ ac同时出现多次


连字符

[0-789]等价于[0-9]
[0-9a-z]表示数字或字母的一个字符

    ("a".matches("[abc]"));匹配    ("a".matches("[^abc]"));不匹配    ("A".matches("[a-zA-Z]"));T      ("A".matches("[a-z]|[A-Z]"));T    ("A".matches("[a-z[A-Z]]"));T 上述三个等价    ("R".matches("[A-Z&&[RFG]]"));T  &&表示and,同时满足 

特殊字符

\s 匹配空白字符(包括回车,换行,制表,空格)
\S 非
\w [0-9a-zA-Z_] 1个字符
\W [^0-9a-zA-Z_]
\d [0-9]
\D[^0-9]
\ 就是表示\字符

    (" \n\r\t".matches("\\s{4}"));T      (" ".matches("\\S"));F    ("a_8".matches("\\w{3}"));T    ("abc888&^%".matches("[a-z]{1,3}\\d+[&^#%]+"));T    ("\\".matches("\\\\"));T    java里面一个\回和后面的字符形成转义,故为表示一个\,需要用两个\\表示。正则时, 匹配一个反斜线需要用4个反斜线来表示。

锚点

\b 单词分界符,要求单侧是单词字符,另一侧是非单词字符。
^ 匹配一行的开头
$ 匹配一行的结尾
\A 整个字符串的开头,默认情况下等于^
\Z 匹配整个字符串的末尾


环视

仅用于布尔判断

(?=) 右侧文本能有子表达式匹配 肯定顺环视
(?!) 右侧文本不能有子表达式匹配 否定顺环视
(?<) 左侧文本能有子表达式匹配 肯定逆环视
(?!) 左侧文本不能有子表达式匹配 否定逆环视


捕获分组

将括号内的子表达式捕获的字符串存放到匹配结果中,供匹配完成后访问。
有括号就分组

0 0
原创粉丝点击