Python 正则表达式在列表中失败

Python 正则表达式在列表中失败,python,regex,python-2.7,Python,Regex,Python 2.7,我试图在如下所示的列表中找到术语DRFT5.147.001。然而,我的正则表达式没有返回任何结果,这似乎很奇怪 名单: 文字: > ['DRFT5.147.001', '0000000000000000', '0139', '10.00', > '700000031479999', '05/27/13', '(002)', '<MAN.', 'CORR', 'BY', 'LG0', > 'DRFT5.147.001', '00000000', '0139', '25.00

我试图在如下所示的列表中找到术语DRFT5.147.001。然而,我的正则表达式没有返回任何结果,这似乎很奇怪

名单: 文字:

> ['DRFT5.147.001', '0000000000000000', '0139', '10.00',
> '700000031479999', '05/27/13', '(002)', '<MAN.', 'CORR', 'BY', 'LG0',
> 'DRFT5.147.001', '00000000', '0139', '25.00', '70000003147999999',
> '05/27/13', '(002)', '<MAN.', 'CORR', 'BY']
此代码适用于类似于DRFT5.147.001的单词,最好也适用于类似的单词,如DRFT5.147.002

尝试更改为:

r'\w{4}\d{1}\.\d{3}\.\d{3}'
通常,您必须转义所有
字符,因为这在正则表达式中有特殊意义。此外,当引用数字或单词字符时,您不能简单地使用字母,而是必须让python知道您所指的是特殊的内容,因此
\

DRFT5还有4个字母和1个数字,因此更改为
\w{4}


值得一提的是,您不必创建另一个模式来匹配
DRFT5.147.002
,此正则表达式模式将与之完美匹配。

这是否仍然与您从数据帧中删除行有关?@JonClements幸运的是,不是。:)。虽然它是同一条溪流,我打破了许多地方。
r'\w{4}\d{1}\.\d{3}\.\d{3}'