您想在哪里使用非捕获组的示例是什么?在这里:
(?:7|8|9)
VS-
(7|8|9)
VS-
[7-9]
您是否有可能拥有一个无法被[...]
取代的非捕获组?
答案 0 :(得分:1)
您是否有可能拥有一个无法被[...]取代的非捕获组?
当然,当您要匹配的子字符串不是单个字符时,例如:
^(?:foo|bar)+$
这将匹配foobarbar
之类的字符串。单独使用字符集无法做到这一点。
(?:7|8|9)
VS-
(7|8|9)
只要您需要 来捕获文本并在以后使用它,都应使用捕获组。例如,如果您要检查匹配项并提取匹配的组,或者想在模式的后面反向引用匹配的组。
否则,捕获组将无用,而应使用非捕获组。
在非捕获组正常工作时使用捕获组有两个问题: