如何从lookahead转换regexp
我有以下PHP中的正则表达式和其他代码,它们做得很好如何从lookahead转换regexp,regex,go,Regex,Go,我有以下PHP中的正则表达式和其他代码,它们做得很好 /^(?:(?=[^ ]+\d)(?:[A-Z0-9]+))|(?:[A-Z0-9]+) +?(?=.*\d)(?:[A-Z0-9]+)? 事实证明,Go不支持lookheads,我不知道如何将其转换为其他版本 Debuggex链接中有一些我以前用来验证代码的测试数据。首先,替换的左侧与任何内容都不匹配,因为在输入开始之前,/永远不会出现 只剩下(?:[A-Z0-9]+)+(?=.*\d),可以表示为: ((?:[A-Z0-9]+) )
/^(?:(?=[^ ]+\d)(?:[A-Z0-9]+))|(?:[A-Z0-9]+) +?(?=.*\d)(?:[A-Z0-9]+)?
事实证明,Go不支持lookheads,我不知道如何将其转换为其他版本
Debuggex链接中有一些我以前用来验证代码的测试数据。首先,替换的左侧与任何内容都不匹配,因为在输入开始之前,
/
永远不会出现
只剩下(?:[A-Z0-9]+)+(?=.*\d)
,可以表示为:
((?:[A-Z0-9]+) ).*\d.*
所使用的术语“+?”
实际上与“
完全相同
然而,请注意,这比原始文件消耗更多的输入,这是不可避免的。您的原始匹配项现在位于第1组。如果您可以为正则表达式提供精确的规格,将更容易为您提供帮助。现在还不清楚你是需要数字作为比赛的一部分,还是仅仅要求数字在预期比赛之后的某个地方。