正则表达式反向引用非捕获组?

datasn.io

针对这样的字符串:

<h3>title</h3>
<h4>title</h4>

如何相应地匹配标签并在其中获取文本?

这有效,但是不必要获取标签名称:

'@<(h[34])>(.+)</\1>@sU'

但是,这似乎不起作用,因为我不想获取标签名称,而只想对其进行反向引用:

'@<(?:h[34])>(.+)</\1>@sU'

我正在使用PHP preg_match()。为什么第二种方法不起作用?是否可以向后引用非捕获组?

wn

捕获组可以稍后在正则表达式中用作对该捕获组中匹配项的反向引用。通过放置?:在内部,可以指定不捕获组,而是对表达式进行分组。

您可以使用分支重置功能(?| ... | ... ),这样就不会使表达式与不对应的标签匹配,并且替代方案中的两个捕获组都被视为一个捕获组。

~(?|<h3>(.+?)</h3>|<h4>(.+?)</h4>)~s

现场演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Javascript正则表达式中的非捕获组

来自分类Dev

返回Javascript正则表达式非捕获组

来自分类Dev

正则表达式:捕获组?

来自分类Dev

正则表达式非捕获组-没用吗?

来自分类Dev

正则表达式非捕获组ins Scala

来自分类Dev

正则表达式第二非捕获组?

来自分类Dev

Python捕获组并用正则表达式引用

来自分类Dev

正则表达式从红宝石中的非捕获组捕获

来自分类Dev

正则表达式:捕获组中的捕获组

来自分类Dev

正则表达式替换忽略非捕获组

来自分类Dev

正则表达式可选组反向引用

来自分类Dev

Ruby正则表达式非捕获组

来自分类Dev

R正则表达式中的非捕获组

来自分类Dev

正则表达式非捕获组

来自分类Dev

正则表达式:数字与对捕获组的反向引用

来自分类Dev

正则表达式中的非捕获组

来自分类Dev

使用Python正则表达式在非捕获组中的多个捕获组

来自分类Dev

Python正则表达式捕获非空引用

来自分类Dev

Python正则表达式返回非捕获组

来自分类Dev

正则表达式,捕获组

来自分类Dev

为什么这个Perl正则表达式没有捕获反向引用?

来自分类Dev

Python捕获组并用正则表达式引用

来自分类Dev

正则表达式捕获组

来自分类Dev

正则表达式从红宝石中的非捕获组捕获

来自分类Dev

正则表达式非捕获组

来自分类Dev

正则表达式:不是任意的非捕获组

来自分类Dev

JavaScript正则表达式中的反向引用非捕获组

来自分类Dev

正则表达式非捕获组

来自分类Dev

捕获组中的正则表达式捕获组