Searchpattern“?:”

时间:2013-11-12 12:29:06

标签: regex perl

以下模式?:在regexp中的含义是什么? 它应该与搜索模式的n-ht发生有关,不是吗。

3 个答案:

答案 0 :(得分:9)

?:表示非捕获组:

"Non-capturing groupings, denoted by (?:regexp), still allow the regexp to be treated as a single unit, but don't establish a capturing group at the same time“。

http://perldoc.perl.org/perlretut.html#Non-capturing-groupings

答案 1 :(得分:6)

当括号后出现?:时,会使该组无法捕获。该组仅用于应用量词,或用于分组替换,而不是保存与该子模式匹配的字符串部分。

答案 2 :(得分:0)

?:会创建一个幻像组。这意味着我们无法访问该组。例:

(Alan) (?:Messias) (Cordeiro)

我们将有两组: $1 = Alan$2 = Cordeiro

我们无法访问“Alan”和“Cordeiro”之间的群组。

也许您会喜欢这个测试正则表达式的链接:http://gskinner.com/RegExr/

祝你好运