正则表达式圆括号--()

正则的圆括号描述

(1). 在被修饰匹配次数的时候,括号中的表达式可以作为整体被修饰
(2). 取匹配结果的时候,括号中的表达式匹配到的内容可以被单独得到

描述参见(http://www.regexlab.com/zh/regref.htm)

结合php的preg_match函数来看下以下运行的结果

$str = 'cabcdf1da32';
$pattern = '/(abcd)/i';
preg_match($pattern, $str, $matches);
echo '<pre>';
var_dump($matches);

结果为

array
  0 => string 'abcd' (length=5)
  1 => string 'abcd' (length=4)

这里为什么会返回两个abcd呢?

稍微修改一下正则表达式,再来看一下

$str = 'cabcdf1da32';
$pattern = '/c(abcd)/i';
preg_match($pattern, $str, $matches);
echo '<pre>';
var_dump($matches);

结果为

array
  0 => string 'cabcd' (length=5)
  1 => string 'abcd' (length=4)

结合开始说的第2条,那么关于第一个测试返回两条也就明白了,正则的匹配结果作为数组的第一个元素,而圆括号中的匹配内容会作为匹配的第二个元素返回。

 

转载于:https://www.cnblogs.com/debmzhang/p/3391026.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值