我建立在斯威夫特正則表達式,需要檢查這些特定情況:正則表達式最多兩個運營商
匹配,如果發現:
AB*5+4
AB+4*5
AB+4
AB*5
AB
AB+54.45
AB+50.49*54
不匹配,如果發現:
AB+4+5
AB*4*5
AB*0
中只能有0-2個運營商(+
或*
),但如果有兩個,他們可以是不一樣的。乘以0
不應該匹配。
我建的正則表達式如下:
[A-Z]{2}(\+|\*)[1-9]{1,}(?:(?(?=\1)(\+|\\*))[1-9]{1,})?
的主要問題是,我無法預知的條件捕獲的第一組中,所以我無法檢查是這樣的:如果在*
首先被捕獲的組然後是+
,反之亦然。
任何人都可以幫助我嗎?
你想要應用什麼規則?從你提供的例子中不清楚。 –
我不想重複+或重複*前。 AB + 4 + 5或AB * 4 * 5,我只能接受AB + 4,AB * 5,AB * 4 + 5,AB + 5 * 4 ...... – talesfromnowhere
AB * 4 + 5 * 7 ?它只能是2個數字,還是允許更長的字符串? –