首页 > 编程笔记

正则表达式语法:特定符号大全

正则表达式是字符串,它包含文本和特殊字符。利用文字与特定字符的混合,可以定义复杂的字符串匹配与取代类型。

1. 正则表达式的特定字符

正则表达式所用的特定字符如表 1 所示。
表 1:正则表达式特定字符
特定字符 说明
\w 匹配字母与数字的字符,包含下画线“”符号,与"[A-Za-z0-9_ ]"相等
\W 匹配非字母或数字的字符。与"[^A-Za-z0-9_ ]"相等
s 匹配white space字符,包含tab、 newline、 form feed及换行字符,与"[ \fn\r\t\v]"相等
S 匹配非white space字符,与"[^\f\n\r\t\v]"相等
d 匹配数字,与"[0-9]"相等
\D 匹配非数字,与"[^0-9]"相等
[\b] 匹配backspace字符
. 匹配newline(换行符)以外的任何字符
[..] 匹配中括号[]内的任何字符
[^..] 匹配不在中括号[]内的任何字符
[x-y] 匹配x到y之间的任何字符
[^x-y] 匹配不在x到y之间的任何字符
{x,y} 匹配上一个搜索目标的次数至少x次,但是不可以超过y次
{x,} 匹配上一个搜索目标的次数至少x次
{x} 匹配上一个搜索目标的次数正好x次
? 匹配上一个搜索目标的次数只有一次或没有符合
+ 匹配上-一个搜索目标的次数至少一次
* 匹配上一个搜索目标的次数是任何次数或没有符合
| 匹配|符号左边或右边的搜索字符
(...) 将小括号()内的所有搜索字符集合成为一-个新的搜索字符
\x 匹配x集合的相同搜索字符
^ 匹配字符串的开头,或者在多行模式中匹配每一 行的开头
$ 匹配字符串的结尾,或者在多行模式中匹配每一 行的结尾
\b 匹配字母数字的字符,以及非字母数字的字符之间的字符
\B 匹配不在字母数字的字符, 以及非字母数字的字符之间的字符

2. 正则表达式内的特殊字符

如果用户要在正则表达式内使用 ?、*、+ 或换行等符号,就必须使用表 2 所示的字符。

表 2:正则表达式内的特殊字符
特殊字符 说明
\f 换页符
\n Newline
\r 换行
\t Tab
\v Vertical tab
V /符号
\\ \符号
\. .符号
\* *符号
\+ +符号
\? ?符号
\| |符号
\( (符号,小括号的左边
\) |)符号,小括号的右边
\[ [符号,中括号的左边
\] ]符号,中括号的右边
\{ {符号,大括号的左边
\} }符号,大括号的右边
\XXX 八进位数字XXX所代表的ASCII字符
\xHH 十六进位数字HH所代表的ASCII字符
\cX X所代表的控制字符

优秀文章