正则通用原子和元字符:
\d 匹配一个数字字符 [0-9]
\D 匹配一个非数字字符 等价于[^0-9]
\w 匹配包含下划线的任何单词字符 等价于[0-9a-zA-Z_]
\W 匹配任何非单词字符 等价于[^0-9a-zA-Z]
. 匹配除了'\n'之外的任何单个字符
^ 匹配输入字符串的开始位置,在字符域[]中表示取反,如'[^\w]'等于'\w',而^\w表示已单词字符开头
$ 匹配输入字符串的结束位置,例如'\w$'表示以单词字符结尾
? 匹配前面的子表达式零次或者一次等价于{0,1}例如"de(es)?"可以匹配"do"或者"does"
* 匹配前面的子表达式零次或者多次,等价于{0,}例如,zo* 能匹配'z'、'zo'、'zoo'
+ 匹配前面的子表达式一次或多次,等价于{1,}例如,'zo+'能匹配'zo'以及'zoo'
{n} n为非负整数,匹配确定的n次。例如,'o{2}'不能匹配'Bob'或者'Boob',但是能匹配'food'中的两个o
{n,} n为非负整数,至少匹配n次,例如'o{2,}'不能匹配'Bob'中的'o',但能匹配"fooooood"中的所有
的'o'。'o{1,}'等价于'o+','o{0,}'等价于'o*'
{n,m} m和n均为非负整数,其中n<=m,最少匹配n次最多匹配m次。例如,'o{1,3}'将匹配'fooooood'中的前
三个o,'o{0,1}'等价于'o?'
[] 字符集合(字符域) 匹配所包含的任意一个字符,例如,'[abc]'可以匹配'plain'中的'a'
() 匹配()内的内容,并获取这一匹配。搭配\n(n为大于1的整数),'http:/baidu.com'
若表达式:'(\w+)(:)\/\//.*\1'则匹配'http://baidu.comhttp',\1表示http
(?:) 匹配但不获取匹配结果,不进行存储供以后使用,这在使用'或'字符(|)来组合一个模式的各个部分是很有用,例如,'industr(?:y|ies)就是一个比'industry|industries'更简略的表达式,上面表达式若改为'(?:\w+)(:)\\/.*\1'
| x|y 匹配x或者y,例如 'z|food'能匹配'z'或'food','(z|f)ood'则匹配'zood'或'food'
[-] 字符范围 。匹配指定范围内的任意字符。例如,'[a-z]'可以匹配到'a'到'z'范围内的任意小写字母字符