gpt4 book ai didi

python - 在文本文件中查找包含特定字符且特定长度的单词

转载 作者:行者123 更新时间:2023-11-30 23:37:04 26 4
gpt4 key购买 nike

我试图在文本文件中查找长度为 7 个字母且包含字母 a、b、c、e 和 r 的单词。到目前为止我有这个:

import re

file = open("dictionary.txt","r")
text = file.readlines()
file.close()


keyword = re.compile(r'\w{7}')

for line in text:
result = keyword.search (line)
if result:
print (result.group())

有人可以帮助我吗?

最佳答案

您不仅需要匹配单词字符,还需要匹配单词边界:

keyword = re.compile(r'\b\w{7}\b')

\b anchor 匹配单词的开头或结尾,将单词限制为正好 7 个字符。

如果您逐行循环文件而不是一次性将其全部读入内存,效率会更高:

import re

keyword = re.compile(r'\b\w{7}\b')

with open("dictionary.txt","r") as dictionary:
for line in dictionary:
for result in keyword.findall(line):
print(result)

使用keyword.findall()为我们提供了该行所有匹配项的列表。

要检查匹配项中是否至少包含一个必需的字符,我个人会使用一组交集测试:

import re

keyword = re.compile(r'\b\w{7}\b')
required = set('abcer')

with open("dictionary.txt","r") as dictionary:
for line in dictionary:
results = [required.intersection(word) for word in keyword.findall(line)]
for result in results
print(result)

关于python - 在文本文件中查找包含特定字符且特定长度的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15911031/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com