\ 将后面的一个字符匹配成或特殊字符或原义字符或向后引用或八进制转义符。例如:\n匹配成换行,\\匹配'\n'
\f匹配一个换页符
\n匹配一个换行符
\r匹配一个回车符号
\v匹配一个垂直制表符
*匹配前面的表达式0次或者更多次,等效于{0,}
+匹配前面的表达式1次或者更多次,等效于{1,}
?匹配前面的表达式0次或者1次,等效于{0,1}
{n}匹配确定的次数
{n,}至少匹配n次
{n,m}匹配n到m次
$匹配输入字符串的结尾位置
()标记一个子表达式的开始和结尾位置
[标记一个中括号的开始。
.匹配除换行符(\n)之外的任意单字符。
^匹配字符串或一行的开始位置,如果在[]中,则表示不接受[]中的内容 ^once以once开头
{标记限定符表达式的开始
|指明两项之间的一个选择
\b匹配一个字边界,即字与空格之间的位置
\B匹配一个非字边界。
/g全局 /i不区分大小写
\w匹配一个“字”(数字,字符,下划线)
\t是匹配制表符,相当于tab键
\d匹配一个数字字符。等价于 [0-9]
\D匹配一个非数字字符,等价于[^0-9]
\w匹配包括下划线的任意单词字符,等价于[A-Za-z0-9]
\W匹配任意非单词字符,等价于[^A-Za-z0-9]
\s匹配任意空白字符[\n \t\r]
\S匹配任意非空白字符
(?:pattern)匹配 pattern 但不获取匹配结果 例如, 'industr(?:y|ies) 就是一个比 'industry|industries' 更简略的表达式。
(?=pattern)正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。
(?!pattern)反向预测先行使用 ?! 指定,它匹配处于与正则表达式模式不匹配的字符串的起始点的搜索字符串
C#正则表达式
\A匹配必须出现在字符串的开头
$匹配必须出现字符串末尾或者行或者\n的之前
\Z匹配必须出现在字符串末尾或者\n之前
\z匹配必须出现在字符串的末尾。
\G匹配必须出现在上一个匹配结束的地方 \\G\(\d\) "(1)(3)(5)[7](9)" 中的 "(1)"、 "(3)" 和 "(5)"
\b匹配必须出现在 \w(任意单词字符)和 \W(任意非单词字符)字符之间的边界上。
\B匹配不得出现在 \b 边界上。\Bend\w*\b "end sends endure lender" 中的 "ends" 和 "ender"
(?= subexpression)零宽度正预测先行断言。\w+(?=\.) "He is. The dog ran. The sun is out." 中的 "is"、 "ran" 和 "out"
PHP内置的通用字符簇
[[:alpha:]] 代表任何字母
[[:digit:]] 代表任何数字
[[:alnum:]] 代表任何字母和数字
[[:space:]] 代表任意空白字符
[[:upper:]] 代表所有大写字母
[[:lower:]] 代表任何小写字母
[[:punct:]] 代表任何标点
[[:xdigit:]] 代表任意十六进制的数字,相当于[0-9a-fA-f]