gpt4 book ai didi

regex - 正则表达式可以断言 2 个子匹配项相等吗?

转载 作者:行者123 更新时间:2023-12-01 23:16:11 25 4
gpt4 key购买 nike

假设这个简单的正则表达式,

(?P<first>\d+)\.(?P<second>\d+)

它可以匹配像“123.456”这样的字符串,

first -> 123, second -> 456

根据这个例子,有没有办法断言“first”应该等于“second”,否则输入字符串将不匹配?

最佳答案

您可以捕获捕获组中点之前的第一位数字并使用 backreference在第 1 组的点之后:

(?P<first>\d+)\.(?P<second>\1)

或者您可以通过name 引用第一个捕获组:

(?P<first>\d+)\.(?P<second>(?P=first))

根据 UnbearableLightness 的评论你可以使用 word boundaries \b或使用 anchor ^$断言行的开始和结束。

\b(?P<first>\d+)\.(?P<second>(?P=first))\b

关于regex - 正则表达式可以断言 2 个子匹配项相等吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51683845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com