使用python

时间:2015-12-09 05:14:48

标签: python regex

我正在尝试编写一个脚本,该脚本从一个文件中获取单词列表,并尝试在另一个文件中搜索这些特定单词,如果找到特定单词,则打印整行。 问题是我想在搜索文件中只匹配我正在寻找的单词 例如:如果我必须搜索“word123”这个词,我不需要 点击“word12345”只能找到与我写的确切单词相对应的第一个

这是代码:

for line in searchfile:
    for word in keywords:
        if re.search ("^word$" , line):
            print(line.strip(), file = new_file)
            break

结果始终为空文件

2 个答案:

答案 0 :(得分:2)

if re.search (r"\b"+word+r"\b" , line):

您需要在此使用\bword boundary

答案 1 :(得分:1)

而不是正则表达式

"^" + word + "$"

尝试:

r"^.*\b" + word + r"\b.*$"