推荐答案
测试一下
题目
5.5非捕捉用的括号 ................................ ................................ ................................ .........…
参考答案与知识点
参考答案
非捕获括号 (?:pattern) 是正则表达式中的一种分组结构,作用是将子表达式括起来形成一个整体,但不会将该分组匹配到的文本保存到捕获组中。与捕获括号 (pattern) 相比,非捕获括号不会占用捕获组编号,也不参与后向引用。其主要用途包括:1) 在需要应用量词或选择操作但不关心分组内容时使用,例:(?:abc)+ 匹配“abcabc”但不会单独记录“abc”;2) 在交替 (|) 中限定范围又不希望引入捕获副作用,例:/(?:Mr|Mrs)\.\s\w+/ 匹配“Mr. Smith”而不产生额外组;3) 提高匹配性能,因为引擎无需存储捕获信息。易错点:误以为非捕获括号仍可被后向引用捕获,实际上 \1 等引用只针对捕获组;在分组嵌套时,非捕获括号不改变编号顺序,捕获组编号仍从最左括号开始计数。
涉及知识点
- 正则表达式非捕获括号语法
- 捕获组与非捕获组区别
- 非捕获括号应用场景
- 后向引用与捕获编号
- 正则性能优化