3

以下模式 ?:在正则表达式中意味着什么?它应该与搜索模式的 n-ht 出现有关,不是吗。

4

3 回答 3

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

于 2013-11-12T12:33:31.327 回答
6

?:出现在括号之后时,它使组不被捕获。该组仅用于应用量词,或用于对备用进行分组,而不是保存与该子模式匹配的字符串部分。

于 2013-11-12T12:32:27.533 回答
0

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

(Alan) (?:Messias) (Cordeiro)

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

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

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

此致

于 2013-11-12T12:36:05.150 回答