我试图创建一个简单的过滤函数,它对文本文件运行正则表达式,并返回包含该特定正则表达式的所有单词。在
例如,如果我想找到包含“abc”的所有单词,并且我有列表:abcde
、bce
、xyz
和{abcde
和{
我有一个下面的脚本,但我不确定它是否只是我失败的正则表达式。它只返回abc两次而不是完整的单词。谢谢。在
import re
text = open("test.txt", "r")
regex = re.compile(r'(abc)')
for line in text:
target = regex.findall(line)
for word in target:
print word
您的方法是正确的,但是您可以将Regex更改为
r'.*abc.*'
这将匹配所有带有
abc
的行The wildcards
.*`将匹配行中的所有字母。在一个小的演示与特定的线改变将打印
^{pr2}$注意,作为Kasramentions,在这种情况下最好使用
in
运算符我认为这样的任务不需要regex,您只需
split
您的行来创建单词列表,然后在单词列表上循环并使用in
运算符:相关问题 更多 >
编程相关推荐