正则表达式的一些匹配规则:
. :用于匹配任意一个字符,如 a.c 可以匹配 abc 、aac 、akc 等
^ :用于匹配以...开头的字符,如 ^abc 可以匹配 abcde 、abcc 、abcak 等
$ :用于匹配以...结尾的字符,如 abc$ 可以匹配 xxxabc 、123abc 等
* :匹配前一个字符零次或多次,如 abc* 可以匹配 ab 、abc 、abcccc 等
+ :匹配前一个字符一次或多次,如 abc+ 可以匹配 abc 、abcc 、abcccc 等
? :匹配前一个字符零次或一次,如 abc? 只能匹配到 ab 和 abc
\ :转义字符,比如我想匹配 a.c ,应该写成 a\.c ,否则 . 会被当成匹配字符
| :表示左右表达式任意匹配一个,如 aaa|bbb 可以匹配 aaa 也可以匹配 bbb
[]:匹配中括号中的任意一个字符,如 a[bc]d 可以匹配 abd 和 acd,也可以写一个范围,如 [0-9] 、[a-z] 等
():被括起来的表达式将作为一个分组,如 (abc){2} 可以匹配 abcabc ,a(123|456)b 可以匹配 a123b 或 a456b
{m}:表示匹配前一个字符m次,如 ab{2}c 可以匹配 abbc
{m,n}:表示匹配前一个字符 m 至 n 次,如 ab{1,2}c 可以匹配 abc 或 abbc
\d :匹配数字,如 a\dc 可以匹配 a1c 、a2c 、a3c 等
\D :匹配非数字,也就是除了数字之外的任意字符或符号,如 a\Dc 可以匹配 abc 、aac 、a.c 等
\s :匹配空白字符,也就是匹配空格、换行符、制表符等等,如 a\sc 可以匹配 'a c' 、a\nc 、a\tc 等
\S :匹配非空白字符,也就是匹配空格、换行符、制表符等之外的其他任意字符或符号,如 a\Sc 表示除了 'a c' 之外都能匹配,abc 、a3c 、a.c 等
\w :匹配大小写字母和数字,也就是匹配 [a-zA-Z0-9] 中的字符,如 a\wc 可以匹配 abc 、aBc 、a2c 等
\W :匹配非大小写字母和数字,也就是匹配大小写字母和数字之外的其他任意字符或符号,如 a\Wc 可以匹配 a.c 、a#c 、a+c 等