前言
本文对正则表达式做一个简要概括,主要包括五点:
- 常规
- 量词
- 捕获
- 断言
- 注释
常规
^
:匹配字符串开始$
:匹配字符串结束\b
:单词的开头或结尾,即单词的边界;\B
则是非词的边界\d
:数字字符匹配;\D
非数字字符匹配\s
:空白字符,等价于[\f\b\n\r\t\v]
\w
:匹配任何字类字符,包括下划线;\W
与任何非单词字符匹配,等价于[^A-Za-z0-9_]
量词
?
:零次或一次+
:一次或多次*
:零次或多次;通配符.*
表示任意数量的不包含换行的字符.
:除\n
外的任意单个字符,要匹配\n
则使用[\s\S]
{n}
:正好匹配n次{n,}
:至少匹配n次{n,m}
:至少匹配n次,至多匹配m次
捕获
(pattern)
:匹配pattern并捕获该匹配的子表达式(?<name>pattern)
:匹配pattern并捕获文本到名称name的组里,等价于(?'name'pattern)
(?:pattern)
:匹配pattern但不捕获该匹配的子表达式
断言
(?=pattern)
:匹配pattern前面的位置(?<=pattern)
:匹配pattern后面的位置(?!pattern)
:匹配后面跟的不是pattern的位置(?<!pattern)
:匹配前面不是pattern的位置
注释
(?#comment)
:不对正则表达式处理产生任何影响,用于提供注释让人阅读
声明:本站所有文章均为原创或翻译,遵循署名 - 非商业性使用 - 禁止演绎 4.0 国际许可协议,如需转载请确保您对该协议有足够了解,并附上作者名 (Tsukasa) 及原文地址