^
符号用来匹配一行的开始位置,比如^word
匹配以word
开头的行。
$
符号用来匹配一行的结束位置,比如word$
匹配以word
结束的行。
[...]
符号用来匹配括号中的任意字符,比如[abc]
可以匹配a
或者b
或者c
,至少有一个字符可以被匹配到。
在字符组中可以用-
连字符表示一个范围,比如[0-9]
可以匹配数字0到9,[a-z]
可以匹配字符a到z。
[^...]
符号用来匹配未在括号中列出的所有字符,比如[^a-z]
可以匹配除a到z以外的所有字符。
.
符号可以匹配任意字符。
|
符号用来表示多选分支,比如ab|AB
可以匹配ab或者AB,(W|w)ord
可以匹配Word或者word。
?
表示在它之前的元素是可选的,比如July?
可以匹配Jul也可以匹配July,因为y是可选的;1(st)?
可以匹配1,也可以匹配1st,因为st是可选的。
+
表示在它之前的元素至少匹配一次,比如a+
可以匹配a,但不能匹配到b。
*
表示在它之前的元素匹配任意次数或者不匹配,比如a*
可以匹配a,也可以匹配到b。
{min, max}
区间表示它之前的元素至少匹配min次,最多匹配max次。
\n
(n是一个正整数)符号用来保存之前匹配的文本,比如([a-z])([0-9])\1\2
中的\1
保存了第1个括号中[a-z]
匹配的部分,\2
保存了第2个括号中[0-9]
匹配的部分。
\
用来转义,比如www\.google\.com
可以匹配www.google.com而不会匹配www,google,com。