我正在尝试在一个 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)
我得到以下列表:
(胎牛血清) (NFS) (内陆) (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/