符号 说明 正则表达式模式 匹配的字符串
literal 匹配字符串的值 foo foo
| 匹配多个正则表达式模式 bat|bet|bit bat,bet,bit
. 匹配任意一个字符(换行符\n除外) f.o 在f和o之间具有任何一个字符的字符串
^ 匹配字符串的开始 ^From 任何以From开始的字符串
$ 匹配字符串的结尾 end$ 任何以end结束的字符串
[...] 匹配[]中的任意一个字符 b[aeiu]t bat,bet,bit,but
[x-y] 匹配从字符x到y中的任意一个字符 [0-9][a-zA-Z] 0到9之间的任何一个数字和任何一个字母组成的字符串
[^...] 不匹配此字符集中出现的任何一个字符 [^aeiou] 一个非元音字符
* 匹配前面的正则表达式零次或多次 t[dn]*o t和o之间有任意多个d或n组成的字符串,
例如to,tdo,tno,tdno,tddo,tndno等
+ 匹配前面的正则表达式一次或多次 t[dn]+o t和o之间有至少一个d或n组成的字符串,
例如tdo,tno,tdno,tddo,tndno等
? 匹配前面的正则表达式零次或一次 [dn]ot? do,no,dot,not
{N} 匹配前面的正则表达式N次 [0-9]{16} 任何一个16位数字
{M,N} 匹配前面的正则表达式M次到N次 [0-9]{15,16} 任何一个15位或16位数字
(*|+|?|{})? 上面4个重复匹配符号(*,+,?,{})的非贪心版本,即尽可能少的匹配消耗字符,留下尽可能多的字符给后面的模式
() 匹配()中的正则表达式,并保存为子组 f(oo|u)bar foobar,fubar
特殊字符 说明
\d 与[0-9]相同
\D 与[^0-9]相同
\w 与[A-Za-z0-9]相同
\W 与[^A-Za-z0-9]相同
\s 匹配任何空白字符,与[ \n\t\r\v\f]相同
\S 与[^ \n\t\r\v\f]相同
\| \. \\ \* \^ 取消字符的特殊含义,按字面匹配
\$ \+ \? \[ \]
\- \( \) \{ \} \/