您当前的位置:首页 > 网站建设笔记 >

阻止小括号捕获文本

0

问题:模式中使用了小括号来分组,不过不希望与小括号中子模式匹配的文本出现在捕获的匹配数组中。
解决方案:在开始小括号后面加上?:

阻止文本捕获
阻止小括号捕获文本

$bothMatches包含rel和href属性的值。不过,$linkMatches只包含href属性的值。代码的输出如下:

代码输出

如果一个子模式是可选的,阻止捕获尤其有用。因为它可能不在捕获的文本数组中出现,所以可选的子模式会改变捕获的文本块个数。这样一来,就很难引用给定索引位置上的特定匹配文本。要求可选的子模式不捕获文本,就可以防止这个问题。

顶部中部底部