【发布时间】:2015-01-16 10:58:01
【问题描述】:
如何匹配如下行:
143abd
559asd
931dgd
这些行总是有三个数字,然后是三个字母
我正在尝试用 Python 编写这个正则表达式。到目前为止,我已经尝试了以下方法:
\b0-9a-z\b
【问题讨论】:
如何匹配如下行:
143abd
559asd
931dgd
这些行总是有三个数字,然后是三个字母
我正在尝试用 Python 编写这个正则表达式。到目前为止,我已经尝试了以下方法:
\b0-9a-z\b
【问题讨论】:
我相信以下正则表达式会为您工作:
import re
re.findall("^[0-9]{3}[a-zA-Z]{3}$", yourString)
【讨论】:
i have tried "\b0-9a-z\b",我们假设你有实际的代码并且正在寻找准确的正则表达式。
您必须需要放置开始和结束锚点,否则它会进行部分匹配。
^\d{3}[a-z]{3}$
如果您想同时允许大写和小写字母,请更改您的正则表达式,如下所示。
^\d{3}[a-zA-Z]{3}$
代码:
>>> import re
>>> s = """143abd
... 559asd
... 931dgd
... 8765dgb"""
>>> for i in re.findall(r'(?m)^\d{3}[a-zA-Z]{3}$', s):
... print(i)
...
143abd
559asd
931dgd
【讨论】:
上面的字符串将匹配^\d{3}[a-zA-Z]{3}$,您可以编写并验证您自己的正则表达式here。当我需要一个正则表达式时,我会在那里编译并检查它。
【讨论】:
\w 匹配字母、数字或下划线。