为了账号安全,请及时绑定邮箱和手机立即绑定

php 正则 (?: pattern) 作用是什么

php 正则 (?: pattern) 作用是什么

PHP
王亚松 2016-12-24 13:25:18
$rule1="/(?:\w+)/"; $rule2="/(\w+)/"; preg_match($rule1,'Hi',$matches); preg_match($rule2,'Hi',$matches2); //打印 存入$matches和$matches2中的匹配项。 print_r($matches); print_r($matches2); 测试后,$rule1,若匹配,则捕获整体,不会捕获子组     $rule2,若匹配,则捕获整体,并捕获子组          问题:既然不捕获子组,那么直接不用括号就可以,例如:‘/\w+/’       '/(?: \w+)/'是不是显得有点多余?    (?: pattern) 一般用在什么情况下?
查看完整描述

1 回答

已采纳
?
习惯受伤

TA贡献885条经验 获得超1144个赞

(?:pattern) 匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 "或" 字符 (|) 来组合一个模式的各个部分是很有用。例如, 'industr(?:y|ies) 就是一个比 'industry|industries' 更简略的表达式。
查看完整回答
2 反对 回复 2016-12-24
  • 1 回答
  • 0 关注
  • 1846 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信