正则表达式基础知识
- 星号(*) : 星号代表匹配它前面一个字符任意遍(0或任意次)
- 加号(+): 加号是一个与星号(*)类似的通配符,它也是数量词,表示匹配前面的字符一次或多次(至少一次)
- 问号(?): 问号也是一个数量词,它代表匹配前一个字符0或1次
- 中括号[]: 中括号用来表示一个字符集合
如:[a-z]表示小写字母的集合,[a-zA-Z]表示大小写字母的集合 - 特殊字符:
\w – (小写w) 表示字母或数字,等价于 [a-zA-Z0-9]
\W – (大写W)非字母且非数字,与\w相反 等价于 ‘[^A-Za-z0-9_]’
\s – (小写s)匹配一个空格字符,包括:空格,换行,回车,tab,等价于[ \n\r\t\f]
\S – (大写S)匹配非空格字符,\s的相反 等价于 [^ \f\n\r\t\v]。
\d – 表示10进制数字,等价于 [0-9]
\D – 匹配一个非数字字符。等价于 [^0-9]
\f 匹配一个换页符。等价于 \x0c 和 \cL
\n 匹配一个换行符。等价于 \x0a 和 \cJ
\r 匹配一个回车符。等价于 \x0d 和 \cM
\t 匹配一个制表符。等价于 \x09 和 \cI
\v 匹配一个垂直制表符。等价于 \x0b 和 \cK - 大括号:{}
大括号的作用是指定重复前面一个字符多少遍:
{N} 重复N遍
{n,m} 重复 n~m 遍
{n,} 至少重复n遍
{,m} 至多重复m遍 - 定位符:
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结束位置
\b 匹配一个单词边界,也就是指单词和空格间的位置。//例如, ‘er\b’ 可以匹配"never" 中的 ‘er’,但不能匹配 “verb” 中的 ‘er’
\B 和\b相反,匹配非单词边界。‘er\B’ 能匹配 “verb” 中的 ‘er’,但不能匹配 “never” 中的 ‘er’