gpt4 book ai didi

正则表达式,分组,查找最后一个匹配项

转载 作者:行者123 更新时间:2023-12-05 01:00:13 27 4
gpt4 key购买 nike

我希望这个正则表达式

([A-Z]+)$ 

将选择此示例中的最后一次出现:
AB.012.00.022ABC-1
AB.013.00.022AB-1
AB.014.00.022ABAB-1

但我没有匹配项。如果我删除 '$' 我得到:
AB and ABC
AB and AB
AB and ABAB

我只想要最后一次出现(ABC/AB/ABAB)。
“AB。”不应该返回匹配项。如何忽略它?像 (^??.)

最佳答案

要获得最后一次出现,只需使用正向预测,它会告诉正则表达式引擎匹配最后的最终符号:

([A-Z]+)(?=-\d+$)

您的正则表达式只是在字符串的末尾查找从 A 到 Z 的大写字母,但在 AB.012.00.022ABC-1 的末尾都没有大写字母,也不是 AB.013.00.022AB-1 ,也不是 AB.014.00.022ABAB-1 (它们都以 -1 结尾)。如果你的字符串都有 -1最后,您可以使用 (?=-1$)展望。

demo

关于正则表达式,分组,查找最后一个匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29758070/

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