我正在尝试编写一个脚本,该脚本从一个文件中获取单词列表,并尝试在另一个文件中搜索这些特定单词,如果找到特定单词,则打印整行。 问题是我想在搜索文件中只匹配我正在寻找的单词 例如:如果我必须搜索“word123”这个词,我不需要 点击“word12345”只能找到与我写的确切单词相对应的第一个
这是代码:
for line in searchfile:
for word in keywords:
if re.search ("^word$" , line):
print(line.strip(), file = new_file)
break
结果始终为空文件
答案 0 :(得分:2)
if re.search (r"\b"+word+r"\b" , line):
您需要在此使用\b
或word boundary
。
答案 1 :(得分:1)
而不是正则表达式
"^" + word + "$"
尝试:
r"^.*\b" + word + r"\b.*$"