特殊字符与字符匹配符ide
特殊字符编码
\xn匹配ASCII码值等于n的字符,n必须是两位十六进制整数。例:\x41匹配字符“A”。能够表示全部非打印字符。字符串
\n此处的n是一个一位的八进制数(0-7)。若是\n前面至少有n个匹配子捕获,那么\n是反向引用。it
\nm是此处的m和n都是一个一位的八进制数(0-7)。若是\mn前面至少有n个匹配子捕获,那么\mn是反向引用。class
\nm1是当n是八进制数(0-3),m和1是八进制数(0-7)时,匹配ASCII码值等于八进制的nml字符。引用
\un匹配Unicoe编码等于n的字符。此处的n必须是一个4位的十六进制整数。例:\u00A9匹配版权符号英文
\cx匹配由x指定的控制字符。例:\cM匹配Ctrl+M表示的控制字符,即回车符。X的值必须在A-Z或a-z之间,不然c就是字面意义上的字符“c”di
字符匹配符view
[...]匹配方括号中包含的字符集中的任意一个字符。例:[abc]能够与a,b,c3个字符中任何一个匹配。若是字符集中要包含]字符,须要将其放在第一位,即紧跟在[后面。若要在[...]中包含\,要用\\。vi
[^...]匹配方括号中未包含的任意字符。例:[^abc]可匹配a,b,c,3个字符之外的任何字符。
[a-z]匹配任何指定范围内的任意字符。例如,[1-9]匹配1-9之间任何数字字符。若要在方括号中包含连字符-,能够用"\"将其标记为原义字符,例[a\-z]或[-a-z]或[a-z-]。
[^a-z]匹配不在指定范围内的任何字符。
\d匹配任意一个数字字符
\D匹配任意一个非数字字符
\s匹配任意空白字符,包括空格、制表符和换页符等,等效于[\f\n\r\t\v]
\S匹配任意非空白字符
\w匹配任意英文字母和数字类字符以及下划线
\W匹配任何非英文字母和数字类字符,但不包括下划线
.匹配除\n以外的任何单个字符。例:(.)\1匹配除\n以外的两个连续的相同字符
定位符与原义字符
用于文本验证的定位符
用^匹配目标字符串的开始位置,也用于行首匹配,即与\n和\r以后的位置匹配
用$匹配目标字符串结尾位置,也可用于行尾匹配
\b匹配一个字边界,包含字与空格间的位置,以及目标字符串的开始和结束位置,例:er\b匹配neverok中的er,不匹配verb中的er。
\B匹配非字符边界
对特殊字符进行转义
表达式中用到的一些元字符再也不表示原来的字面意义,,匹配有特殊字面意义的元字符,使用“\”将字符转为原义字符。须要进行转义的有“$”,“(”,“)”,“*”,“.”,“[”,“]”,“?”,“\”,“/”,“^”“{”“}”“|”