我想匹配數字,但我需要遵循一些規則。
數字可能(或可能不)以符號[+ - ]開頭。
如果數字以0開頭,則不能跟隨任何內容。
但是,如果它本身是0,它應該匹配。如何忽略使用正則表達式以0(零)開頭的數字?
我想出了下面的正則表達式:
[+-]*[1-9]\d*|[+-]*[0](?!\w)
但它不完全工作,我需要:
01 (matches 1, should match nothing)
9,000 (matches 9 and last 0, should match 9 only)
+0152 (matches 152, should match nothing)
-1200 (matches -1200, working as intended)
+0 (matches +0, working as intended)
@WiktorStribiżew爲什麼不是'[+ - ]?'?我們是否期望多重加減? –
我正在學習正則表達式,我用'*'表示'0或1',現在我看到它是'0或許多'。你說得對,我應該用'?'! –