在 Python 脚本中使用正则表达式 [重复]
Posted
技术标签:
【中文标题】在 Python 脚本中使用正则表达式 [重复]【英文标题】:Using regex in Python script [duplicate] 【发布时间】:2019-07-13 13:21:34 【问题描述】:我正在尝试编写一个 python 脚本来搜索和替换这一行:
时间剩余 3 总计
空行。
这是我的脚本:
import glob
read_files = glob.glob("*.agr")
with open("out.txt", "w") as outfile:
for f in read_files:
with open(f, "r") as infile:
outfile.write(infile.read())
with open("out.txt", "r") as file:
filedata = file.read()
filedata = filedata.replace(r'#time\s+residue\s+[0-9]\s+Total', 'x')
with open("out.txt", "w") as file:
file.write(filedata)
使用这个,我无法得到任何替代品。为什么会这样?其余代码工作正常。输出文件没有改变,所以我怀疑找不到模式。
谢谢。
【问题讨论】:
【参考方案1】:str.replace
方法替换固定子字符串。如果您要替换正则表达式模式的匹配项,请改用 re.sub
:
import re
filedata = re.sub(r'#time\s+residue\s+[0-9]\s+Total', 'x', filedata)
【讨论】:
谢谢!这行得通!以上是关于在 Python 脚本中使用正则表达式 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
偷学Python第三十一天:Python正则表达式的语法以及re模块的使用