要解决这个问题,可以使用正则表达式来匹配包含不同单词列表类似模式的行。以下是一个示例代码:
import re
def find_matching_lines(word_list, lines):
pattern = r'\b(?:' + '|'.join(word_list) + r')\b'
matching_lines = []
for line in lines:
if re.search(pattern, line):
matching_lines.append(line)
return matching_lines
# 示例用法
word_list = ['apple', 'banana', 'orange']
lines = [
'I like apples',
'She ate a banana',
'He has an orange',
'They are eating watermelon'
]
matching_lines = find_matching_lines(word_list, lines)
for line in matching_lines:
print(line)
上述代码中的find_matching_lines
函数接受一个单词列表和一个行列表作为输入,并返回一个包含匹配到模式的行列表。使用正则表达式的\b(?:
+ '|'.join(word_list) + r')\b模式来匹配包含单词列表中任意一个单词的行。然后遍历行列表,使用
re.search函数来判断是否匹配到模式,并将匹配到的行添加到
matching_lines`列表中。最后,打印出匹配到的行。
上述示例的输出为:
I like apples
She ate a banana
He has an orange