
匹配 数字三连....
import re s = 'abc 456 def' re.search('\d\d\d', s) # 成功 re.search('\d{3}', s) # None re.search('[0-9]{3}', s) # 成 为什么 \d{3} 不行, 我在在线正则测试的工具网站上试过 \d{3} 并没有错, google 也没找到有说明的, 可能是关键字不对
1 oldshensheep May 9, 2021 |
2 Trim21 May 9, 2021 via Android 试了试第二个能正确匹配 |
3 cherbim May 9, 2021 via iPhone 我测试第二个成功啊 |
4 ClericPy May 9, 2021 python 3.7 3.8 3.9 2.7 都能正确匹配 要不你试试 r'\d{3}' |
5 iptables May 9, 2021 我的测试结果 $ python3.9 Python 3.9.5 (default, May 3 2021, 19:12:05) [Clang 12.0.5 (clang-1205.0.22.9)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> >>> import re >>> >>> s = 'abc 456 def' >>> >>> re.search('\d\d\d', s) <re.Match object; span=(4, 7), match='456'> >>> re.search('\d{3}', s) <re.Match object; span=(4, 7), match='456'> >>> re.search('[0-9]{3}', s) <re.Match object; span=(4, 7), match='456'> >>> >>> re.search(r'\d\d\d', s) <re.Match object; span=(4, 7), match='456'> >>> re.search(r'\d{3}', s) <re.Match object; span=(4, 7), match='456'> >>> re.search(r'[0-9]{3}', s) <re.Match object; span=(4, 7), match='456'> >>> |
7 crystom May 9, 2021 python3 的\d 包括各种 unicode 数字,不光是 0-9 |