用于Tex的简单过滤Python脚本

2024-04-26 10:50:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个简单的过滤函数,它对文本文件运行正则表达式,并返回包含该特定正则表达式的所有单词。在

例如,如果我想找到包含“abc”的所有单词,并且我有列表:abcdebcexyz和{},那么脚本将返回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

Tags: 函数textinre脚本target列表for
2条回答

您的方法是正确的,但是您可以将Regex更改为r'.*abc.*'

 regex = re.compile(r'.*abc.*')

这将匹配所有带有abc的行The wildcards.*`将匹配行中的所有字母。在

一个小的演示与特定的线改变将打印

^{pr2}$

注意,作为Kasramentions,在这种情况下最好使用in运算符

我认为这样的任务不需要regex,您只需split您的行来创建单词列表,然后在单词列表上循环并使用in运算符:

 with open("test.txt") as f :
     for line in f:
         for w in line.split():
              if 'abc' in w :
                   print w 

相关问题 更多 >