我想在一行文本的末尾匹配一个可选标签。
输入文本示例:
The quick brown fox jumps over the lazy dog {tag}
我想匹配花括号中的部分并创建对它的反向引用。
我的正则表达式如下所示:
^.*(\{\w+\})?
(有点简化,我也在标签前匹配部分):
它匹配行 ok (有和没有标签),但不会创建对标签的反向引用。
如果我删除“?” 字符,所以正则表达式是:
^.*(\{\w+\})
它创建了对标签的反向引用,但不匹配没有标签的行。
我从http://www.regular-expressions.info/refadv.html了解到可选运算符不会影响反向引用:
圆括号将它们之间的正则表达式分组。它们捕获与其中的正则表达式匹配的文本,这些文本可以在反向引用中重复使用,并且它们允许您将正则表达式运算符应用于整个分组的正则表达式。
但一定是误会了什么。
如何使标签部分成为可选部分并在存在时创建反向引用?