请问一下正则表达式中(?:)的用法~

2024-12-12 19:56:42
推荐回答(2个)
回答1:

(?:pattern)
匹配pattern但不获取匹配的子字符串,也就是说这是一个非获取匹配,不存储匹配的子字符串用于向后引用。这在使用或字符“(|)”来组合一个模式的各个部分是很有用。例如“industr(?:y|ies)”就是一个比“industry|industries”更简略的表达式。

回答2:

(?:)表示不捕获这个分组
说明一下正则表达式中圆括号中的内容表示分组,从左到右按左圆括号'('的顺序依次为分组1,2....,9
当使用(?:)表示此圆括号中的内容不计入以上1,2...9的捕获分组中