1
我在PHP和其他代碼中做了很棒的工作,有以下正則表達式。Golang正則表達式 - 從lookahead轉換
/^(?:(?=[^ ]+\d)(?:[A-Z0-9]+))|(?:[A-Z0-9]+) +?(?=.*\d)(?:[A-Z0-9]+)?
事實證明,轉到不支持lookheads,我就如何跨越它轉換損失。
Debuggex鏈接有一些測試數據我以前用來限定代碼。
我在PHP和其他代碼中做了很棒的工作,有以下正則表達式。Golang正則表達式 - 從lookahead轉換
/^(?:(?=[^ ]+\d)(?:[A-Z0-9]+))|(?:[A-Z0-9]+) +?(?=.*\d)(?:[A-Z0-9]+)?
事實證明,轉到不支持lookheads,我就如何跨越它轉換損失。
Debuggex鏈接有一些測試數據我以前用來限定代碼。
首先,變化/^...
的左側不匹配,因爲/
在輸入開始之前不會出現。
也就是說只剩(?:[A-Z0-9]+) +?(?=.*\d)
,其可以被表示爲:
((?:[A-Z0-9]+)).*\d.*
術語" +?"
所用是在效果相同只是" "
。
但請注意,這會消耗比原始更多的輸入,這是不可避免的。您的原始匹配現在位於第1組。
如果您可以爲正則表達式提供* exact *規範,則幫助您會更容易。目前,還不清楚你是否需要這個數字成爲比賽的一部分,或者只是要求他們在預期的比賽之後。 –