这对某人来说真的是很快的标记...
这是我的字符串:
Jan 13.BIGGS.04222 ABC DMP 15
我要匹配:
- 日期在前面(mmm yy)格式
- 第二个字段中的名称
- 末尾的数字。可能有 1 到 3 个。
这是我目前所拥有的:
(\w{3} \d{2})\.(\w*)\..*(\d{1,3})$
通过大量使用 http://www.pythonregex.com/我可以匹配“5”,但不能匹配“15”。
我做错了什么?
最佳答案
使用.*?
非贪婪匹配.*
:
In [9]: re.search(r'(\w{3} \d{2})\.(\w*)\..*?(\d{1,3})$', text).groups()
Out[9]: ('Jan 13', 'BIGGS', '15')
如果没有问号,.*
会匹配尽可能多的字符,包括您要用\d{1,3}
匹配的数字。
关于Python 正则表达式 - 不匹配字符串末尾的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18589845/