2
A
回答
3
最簡單的方法只會是這樣的:
re.compile('([\d,.]+)')
但是,這將允許像...
輸入。這可能是可以接受的,因爲你的原始模式允許,,,
。不過,如果你希望只允許一個小數點,你可以這樣做:
re.compile('([\d,]+.?\d*)')
注意,這將不會允許像.5
—輸入你需要使用0.5
代替。
2
我覺得完美的正則表達式將是
re.compile(r'\d{1,2}[,.]\d{1,3}')
這樣你匹配一個或兩個數字後跟一個逗號或句號,然後一到三個數字。
如果您以後不打算使用匹配的內容,則不需要括號。省略它們加快了這個過程。
1
這是一個非常大的,但強大的正則表達式來捕獲任何這是一個有效的數字:
import re
string = """
5,000
2.5
25
234,456,678.345
...
,,,
23,332.1
abc
45,2
0.5
"""
print re.findall("(?:\d+(?:,?\d{3})*)+\.?(?:\d+)?", string)
輸出:
# Note that it will not capture "45,2" because it is invalid
# It instead does "45" and "2", which are each valid
['5,000', '2.5', '25', '234,456,678.345', '23,332.1', '45', '2', '0.5']
相關問題
- 1. 正則表達式:逗號
- 2. 正則表達式逗號
- 3. 正則表達式,R和逗號
- 4. 正則表達式和逗號
- 5. 正則表達式逗號分隔號
- 6. Python的正則表達式來捕獲由空格和逗號
- 7. 的Perl /正則表達式 - 逗號
- 8. 正則表達式的preg_match用逗號
- 9. 爲逗號正則表達式的話
- 10. 正則表達式GSUBř分化省略號和週期
- 11. PHP正則表達式question..adding逗號
- 12. Postgres正則表達式:add逗號
- 13. 逗號使用正則表達式
- 14. 正則表達式替換逗號
- 15. 正則表達式int +逗號
- 16. 正則表達式查找逗號
- 17. 正則表達式整數用逗號
- 18. Java正則表達式轉義逗號
- 19. 正則表達式 - 用逗號分隔
- 20. 帶括號和逗號的數字的JavaScript正則表達式
- 21. 使用正則表達式替換逗號內的逗號
- 22. Python正則表達式:格式化逗號的使用,國際期間
- 23. csv用逗號和不帶引號的正則表達式
- 24. 表達式中的正則表達式逗號
- 25. 正則表達式替換週期與破折號URL格式
- 26. 美元和逗號的正則表達式格式
- 27. 正則表達式逗號或逗號分隔或空間
- 28. Python的正則表達式來點或逗號
- 29. Python上的正則表達式,逗號,空格
- 30. 電話號碼正則表達式(正則表達式)在Python
如果我做了什麼're.compile(「([\ d ,] *?\ d *)「)'? –
@JamesHallen這也允許一個空字符串。 –