目录
定义
正则表达式是描述规则的字符串 ,在Java.util.regex里,作用是判断目标字符串是否符合规则。
元字符
代码 | 说明 |
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母或数字或下划线或汉字 |
\W | 匹配任意不是字母,数字,下划线,汉字的字符 |
\s | 匹配空格和Tab |
\S | 匹配任意不是空白符的字符 |
\d | 匹配数字 |
\D | 匹配任意非数字的字符 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始(在集合字符里[^a]表示非(不匹配)的意思 |
$ | 匹配字符串的结束 |
\B | 匹配不是单词开头或结束的位置 |
[^x] | 匹配除了x以外的任意字符 |
[^aeiou] | 匹配除了aeiou这几个字母以外的任意字符 |
调用函数 boolean result = message.matches(regex)
限定符
符号 | 含义 |
X? | X出现0次或1次 |
X* | X出现0次或多次 |
X+ | X出现一次或多次 |
X{n} | X出现n次 |
X{n,} | X至少出现n次 |
X{n,m} | X出现n~m次 |
XY | XY出现 |
X|Y | X或Y出现 |
关于【】的使用
可以嵌套,可以进行并集、交集、差集的运算
符号 | 含义 |
[abc] | abc中的任一字符 |
[a-h] | a~h中的任意字符 |
[^fgh] | 不是fgh中的任一字符 |
[a-d[m-p]] | a~d或m~p任一字符(并集) |
[a-z&&[def]] | def的任一字符(交集) |
[a-f&&[^bc]] | adef中的任一字符(差集) |