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

chillywilly

我一直在研究正则表达式,而我正在为此努力。在此页面(https://www.regular-expressions.info/conditional.html)上,我看到在条件正则表达式中,对编号反向引用的引用只是一个数字。例如,

(a)?b(?(1)c|d)

正则表达式如何知道我们不应该将数字“ 1”而不是对第一个捕获组的反向引用匹配?在先前的课程中,我了解到可以避免使用反向引用,例如\ 1,\ 2等。

阿努巴瓦

按照正则表达式教程,您将遵循:

一种特殊的构造(?ifthen|else)使您可以创建条件正则表达式如果if部分评估为true,则正则表达式引擎将尝试匹配then部分。否则,尝试使用else部分。语法由一对括号组成。 左括号必须跟一个问号,紧接着是if部分,然后是then部分。这部分后面可以有一个竖线和else部分。您可以省略其他部分,以及垂直栏。

或者,您可以在if部分中检查到目前为止捕获组是否已参加比赛。将捕获组的编号放在括号内,并将其用作if部分。

您的第二个问题是:

RegEx演示 \b(a)?b(?(1)c|d)\b

请注意,我添加了单词边界以避免abd部分匹配字符串

如果有人实际上想以这种方式匹配文字1怎么办?

有效输入:1cd无效输入:1d

那将是:

\b(1)?(?(1)c|d)\b

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

的使用正则表达式连续的数字捕获组

来自分类Dev

正则表达式捕获组除以中间的数字

来自分类Dev

正则表达式:捕获组?

来自分类Dev

正则表达式,捕获组

来自分类Dev

正则表达式捕获组

来自分类Dev

捕获数字的正则表达式

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

在Perl正则表达式中,单独的反向引用后跟数字文字

来自分类Dev

正则表达式:获取指向数字的反向引用,并将其添加

来自分类Dev

在Perl正则表达式中,单独的反向引用后跟数字文字

来自分类Dev

重复正则表达式捕获组的捕获部分

来自分类Dev

正则表达式匹配JavaScript中的反向组

来自分类Dev

R中的反向引用(正则表达式)

来自分类Dev

对整个嵌套正则表达式的反向引用

来自分类Dev

正则表达式用于大写的反向引用

来自分类Dev

Apache中的反向引用正则表达式

来自分类Dev

如何取消反向引用正则表达式

来自分类Dev

Perl正则表达式中的反向引用

来自分类Dev

使用正则表达式反向引用创建数组

来自分类Dev

Java中的正则表达式反向引用

来自分类Dev

Pycharm正则表达式反向引用替换错误

来自分类Dev

Nginx正则表达式和可选的反向引用