正则表达式语法
字符匹配
正则表达式:China
匹配:Chinaabc
句点符号(.):
正则表达式:t.n
匹配:tan,tbn,tcn,t#n,t n等
方括号符号([]):
方括号只有里面指定的字符才参与匹配,也就是说,正则表达式"t[aeio]n"只匹配"tan"、"Ten"、"tin"和"ton"。但“Toon”不匹配,因为在方括号之内只能匹配单个字符.
正则表达式:t[aeio]n
匹配:tan,Ten,tin,ton
"或"符号(|):
如果除了上面匹配的所有单词之外,还想要匹配"toon",那么,可以使用"|"操作符。"|"操作符的基本意义就是"或"运算。要匹配"toon",使用"t(a|e|i|o|oo)n"正则表达式。这里不能使用方扩号,因为方括号只允许匹配单个字符;这里必须使用圆括号"()"。圆括号还可以用来分组.
正则表达式:t(a|b|c|o|oo)n
匹配:tan,tcn,toon
表示匹配次数的符号:
以下这些符号用来确定紧靠该符号左边的符号出现的次数:
符号 | 次数 |
* | 0次或者多次 |
+ | 1次或者多次 |
? | 0次或者1次 |
{n} | 正好n次 |
{n,m} | 从n次到m次 |
"否"符号(^):
"^"符号称为"否"符号。如果用在方括号内,"^"表示不想要匹配的字符。
正则表达式:[^x]
匹配:不能使x开头的所有字符
圆括号和空白符号:
正则表达式:[a-z]+\s+[0-9]{1,2},\s*[0-9]{4}
匹配:June 26, 1951
说明:
- [a-z]月份值至少有一个字符;
- \s必须的空格;
- {1,2}一到两个数字;
- \s*可选的空格;
其它符号:
为简便起见,你可以使用一些为常见正则表达式创建的快捷符号。
符号 | 等价的正则表达式 |
\d | [0-9] |
\D | [^0-9] |
\w | [A-Z0-9] |
\W | [^A-Z0-9] |
\s | [\t\n\r\f] |
\S | [^\t\n\r\f] |