导入要在python正则表达式中使用的文本
我想在一个长的.txt文档中找到200多个正则表达式。然后我需要对许多文档重复这个过程。我想使用循环从文件(doc.txt)导入正则表达式,并将其存储在数组中 我有以下资料:导入要在python正则表达式中使用的文本,python,regex,Python,Regex,我想在一个长的.txt文档中找到200多个正则表达式。然后我需要对许多文档重复这个过程。我想使用循环从文件(doc.txt)导入正则表达式,并将其存储在数组中 我有以下资料: f = open('doc.txt', 'r'); lines = f.readlines(); for l in lines: temp = l.strip(); print temp; names.append(re.compile(temp, re.I + re.M)); f.clos
f = open('doc.txt', 'r');
lines = f.readlines();
for l in lines:
temp = l.strip();
print temp;
names.append(re.compile(temp, re.I + re.M));
f.close();
例如,doc.txt文档的第一行是:
'\A'+'ABBOTT\s|\s'+'ABBOTT\s|\s'+'ABBOTT$|\A'+'ABBOTT LABORATORIES\s|\s'+'ABBOTT LABORATORIES\s|\s'+'ABBOTT LABORATORIES$'
一旦将上述行导入到上面的for循环中,求值表达式将不会产生与以下结果相同的结果:
re.compile('\A'+'ABBOTT\s|\s'+'ABBOTT\s|\s'+'ABBOTT$|\A'+'ABBOTT LABORATORIES\s|\s'+'ABBOTT LABORATORIES\s|\s'+'ABBOTT LABORATORIES$', re.I+re.M);
是否有一种方法可以像在代码中直接键入正则表达式一样对导入的文本进行计算?您是否知道“
re.compile('\a'+'ABBOTT\s | \s'+'ABBOTT$\s'+'ABBOTT$\a'+'ABBOTT LABORATORIES\s | \s'+'ABBOTT LABORATORIES\s'+'ABBOTT LABORATORIES$',re.I+re.M)
”意味着“re.compile(“\AABBOTT\s | \sABBOTT\s | \sABBOTT$| \AABBOTT LABORATORIES\s | \sABBOTT LABORATORIES$”,re.I+re.M)
?这是你期望的吗?嗨,谢谢你的提示,我的意思是'A'+'B'
是'A'
和'B'
的串联,因此你得到了,但是如果你有一个字符串的话“'A'+'B'
”,那么它当然不会“神奇地”连接自身。我相信您应该在问题中明确说明数据文件内容到底是什么,以及您希望生成的代码如何运行(例如,显示执行相同操作的确切Python代码).@Heatherm:遵循此链接:。它将允许您编辑问题以添加此类信息,而不是试图将其放在注释中。@Heather,您的意思是希望0x037B48A0
相同吗?这只是存储regex对象的内存地址,应该会影响任何内容。