gpt4 book ai didi

Java - 正则表达式正向后查找会导致错误

转载 作者:行者123 更新时间:2023-12-01 19:58:36 25 4
gpt4 key购买 nike

看起来我似乎在恶搞,但这是我拥有的合法正则表达式:

(?=([+]{0,1}(mem|[01N]+)([+\/\-*%]([01N]+|mem))+|[-](mem|[01N]+)([+\-*%]([01N]+|mem))*)|(=[+-]{0,1}(mem|[01N]+)([+\-*%]([01N]+|mem))*)|(bt[+-]{0,1}(mem|[0-9]+)([+\/\-*%]([0-9]+|mem))*)|(dec[+-]{0,1}(mem|[01N]+)([+\-*%]([01N]+|mem))*)|([+]?mem)|(quit))|(?<=([+]{0,1}(mem|[01N]+)([+\/\-*%]([01N]+|mem))+|[-](mem|[01N]+)([+\-*%]([01N]+|mem))*)|(=[+-]{0,1}(mem|[01N]+)([+\-*%]([01N]+|mem))*)|(bt[+-]{0,1}(mem|[0-9]+)([+\/\-*%]([0-9]+|mem))*)|(dec[+-]{0,1}(mem|[01N]+)([+\-*%]([01N]+|mem))*)|([+]?mem)|(quit))

它基本上由两部分组成:第一部分将在正 Lookahead 处拆分,第二部分将在正 Lookbehind 处拆分。第一部分工作正常,但 Lookbehind 部分会出现引擎错误。

用于测试的站点:https://regex101.com/

你能帮忙吗?

最佳答案

发布此内容更多的是作为评论而不是答案,但更容易显示图表。

Java 不支持变量查找,这就是你出错的原因。

如果您使用debuggex 你会很容易理解正则表达式,并且会发现你的lookbehind不是固定长度的。

enter image description here

关于Java - 正则表达式正向后查找会导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48666302/

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