HTML表單返回給我一個由用戶輸入的數字字符串。如何使用正則表達式來查看它是否能夠成爲數字。我不是簡單地想要去掉逗號,看看它是否可以轉換爲int,也不喜歡locale.atoi方法,因爲即使它們是無意義的(例如locale.atoi('01,0,0'
)計算爲100),字符串也會忽略數字。如果字符串包含逗號只發生用於檢查字符串的正則表達式是整數
NB此驗證
重新圖案應該是:
第一字符是1-9(不爲零) 第二和第三字符是0-9 然後3數字1-9和0和2倍之間重複逗號(999,999,999,999是在程序中可能最大數目) 然後最後3位數字1-9
compiled = re.compile("[1-9][0-9]{0,2},(\d\d\d,){0,2}[0-9]{3}")
未配套配件g正確結束字符串,例如:
re.match(compiled, '123,456,78')
與之匹配。我做錯了什麼?
你在最後提到的三個數字。但是你的字符串最後只有2位數字。 –
是的確切,即它不應該匹配,但它! –
你爲什麼不分組你所有的表情? '([1-9] [0-9] {0,2},(\ d \ d \ d,){0,2} [0-9] {3})'你能發佈匹配的例子嗎? – Llopis