前面转载的两篇关于正则表达式的文章,也对部分特殊符号做了说明,下面我再补充一些。这些特殊符号也被称为元字符。
\ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,"n"匹配字符"n"。"\n"匹配换行符。
(?:pattern)匹配pattern但不捕获该匹配的子表达式,即它是一个非捕获匹配,不存储供以后使用的匹配。这对于用"或"字符(|)组合模式部件的情况很有用。例如,于"industry|industries"相比,"industr(?:y|ies)"是更经济的表达式。
x|y 与x或y匹配。例如,"z|food"与"z"或"food"匹配。"(z|f)ood"与"zood"或"food"匹配。
\b 匹配一个字边界,即字与空格间的位置。例如,"er/b"匹配"nerver"中的"er",但不匹配"verb"中的"er"。
\B非字边界匹配。"er/B"匹配"verb"中的"er",但不匹配"nerver"中的"er"。
\d 数字字符匹配。等效于[0-9]
\D非数字字符匹配。等效于[^0-9]
\f换页符匹配。等效于\x0c和cL
\n换行符匹配。等效于\x0a和cJ
\r匹配一个回车符。等效于\x0d和cM
\s匹配任何空白字符,包括空格、制表符、换页符等。与[\f\n\r\t\v]等效
\S匹配任何非空白字符。等价于[^\f\n\r\t\v]。
\t制表符匹配。与\x09和\cI等效。
\w匹配任何字类字符,包括下划线。与"[A-Za-z0-9_]"等效。
\W任何非字字符匹配。与与"[^A-Za-z0-9_]"等效。
/^\s*$/:匹配一个空行。
/\d{2}-\d{5}/:匹配由两位数字、一个连字符再加5位数字组成的字符串。