Python 使用正则表达式从文件中提取

Python 使用正则表达式从文件中提取,python,regex,extract,Python,Regex,Extract,我有一个文本文档,我想从中提取某些短语。短语是“MmarC5_u3;”,后跟4个数字。这就是我到目前为止所做的: with open("file.txt") as f: re = (MmarC5_) re.findall(MmarC5_\d{4}", f.read()) 我不断得到错误: NameError: name 'MmarC5' is not defined. 你忘了引用: re.findall(r"MmarC5_\d{4}", f.read()) 这一行没有任何意

我有一个文本文档,我想从中提取某些短语。短语是“MmarC5_u3;”,后跟4个数字。这就是我到目前为止所做的:

with open("file.txt") as f:
    re = (MmarC5_)
    re.findall(MmarC5_\d{4}", f.read())
我不断得到错误:

NameError: name 'MmarC5' is not defined.
你忘了引用:

re.findall(r"MmarC5_\d{4}", f.read())
这一行没有任何意义,删除它:

re = (MmarC5_)
您是否导入了
re
模块

import re
你忘了引用:

re.findall(r"MmarC5_\d{4}", f.read())
这一行没有任何意义,删除它:

re = (MmarC5_)
您是否导入了
re
模块

import re

我相信您希望为regex指定r,并将regex表达式括在单引号中,因此它应该看起来像

    re.findall(r'MmarC5_\d{4}', f.read())

我相信您希望为regex指定r,并将regex表达式括在单引号中,因此它应该看起来像

    re.findall(r'MmarC5_\d{4}', f.read())

r
表示“原始字符串”,而不是“regex”,尽管它在这里确实适用。
r
表示“原始字符串”,而不是“regex”,尽管它在这里确实适用。它不仅没有意义,而且会使
re.findall
无法访问,由于
re
将是对
MmarC5\uu
的引用(假设已定义),而不是对包含
findall
函数的模块的引用。它不仅没有意义,还会使
re.findall
无法访问,由于
re
将是对
MmarC5\u
的引用(假设已定义),而不是对包含
findall
函数的模块的引用。