正则基本符号解释
符号 | 样例 | 说明 |
---|---|---|
纯字符串文本 | a、b、\\d | 匹配纯字符串文本,特殊字符需用\转义,在java中需要使用\\ |
| | a|b | 其中|表示匹配|前或者|后的字符,前后需要无空格,不然表示包含了空格 |
. | .、^.、.$ | 表示匹配任意字符(不包含\n) |
^ | ^.n | 匹配字符串开始第一位任意字符,第二位是n(第一位是\n则匹配不上) ,在[]表示不匹配 |
$ | .n$ | 匹配字符串结尾是n,倒数第二位任意字符(倒数第二位是\n则匹配不上) |
* | ^a* | 匹配前面出现的正则表达式零次或多次,匹配a或者不是a开始的字符串 |
+ | ^a+ | 匹配前面出现的正则表达式一次或多次,匹配a开始的字符串 |
? | ^a? | 匹配前面出现的正则表达式零次或一次,匹配a或者不是a开始的字符串 |
{N} | a{2} | 匹配前面出现的正则表达式N次,匹配任意字符串aa |
{M,N} | a{1,3} | 匹配前面的正则表达式1次到3次 |
[…] | [a-zA-Z] | 匹配任意一个字符,这个字符必须是大小写字母中的任意一个 |
(?: … ) | 是一个非捕获组,包裹一个子表达式但不会记住匹配的内容 | |
(?= … ) | 正向肯定预查,表示匹配括号内的表达式,但不消耗输入字符串或将其作为匹配的一部分 | |
(…) | (\d+)-(\d+) | 在匹配时会捕获匹配的内容 |
(?! … ) | 正向否定预查 | |
\W_ | 匹配任何非单词字符,等同于[^a-zA-Z0-9_] | |
\s | 匹配任何空白字符,包括空格、制表符、换行符 | |
\S | 匹配非空白字符 | |
匹配中文:[\u4e00-\u9fff]
不匹配中文(不包含空串):*[^\u4e00-\u9fff]+$
匹配数字和一些特殊字符:[\u0020-\u007e](包括空格)
\u0000是一个不等于" “,”“两种字符串的空字符
\u0008表示退格符,9
\u0009表示\t,9
\u000a表示\n,10
\u0020表示” ",32