我正在尝试通过一个8页的PDF文件搜索括号内的所有单词,除了“(EAI),(EY)”和其他几个单词。我正在使用正则表达式,并且可以在括号内全部说出三个字母,但是我不知道如何排除我想排除的内容。

import re
lines = text.split()
search = "\(\D{3}\)"
regex = re.compile(search)

for line in lines:
    three_letters= regex.findall(line)
    for word in three_letters:
    print(word)


我得到以下列表:

(FBS)
(NFS)
(IAD)
(CD)
(CD)
(EAI)
(EAI)
(EAI)
(VIG)
(EAI)
(EAI)
(NTF)
(DRP)
(EAI)
(IAD)

但是我需要排除其中的几个。

我一直在这头上撞了一段时间,请帮忙!

最佳答案

与此配合使用findall函数(匹配3个字母)

\((?!(?:list|of|stuff|you|don't|want)\))[A-Z]{3}\)

格式化的

 \(
 (?!
      (?:
           list
        |  of
        |  stuff
        |  you
        |  don't
        |  want
      )
      \)
 )
 [A-Z]{3}
 \)




指定范围以使其可变。
本示例匹配2至5个字母{2,5}
或者,2到无上限只是{2,}

\((?!(?:list|of|stuff|you|don't|want)\))[A-Z]{2,5}\)

关于python - 如何使用正则表达式在PDF中搜索括号中除特定单词集以外的所有单词?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57118203/

10-12 16:03