使用Python在pdf中搜索关键字

时间:2014-05-10 16:09:37

标签: python regex pdf

我在pdf文件中搜索关键字,所以我正在尝试搜索/ AA或/ Acroform,如下所示:

import re
l = "/Acroform "
s = "/Acroform is what I'm looking for"
if re.search (r"\b"+l.rstrip()+r"\b",s):
    print "yes"

为什么我没有得到“是”。我希望“/”成为我正在寻找的关键字的一部分(如果存在的话)。 任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

\b \w(单词)和\W(非单词)字符之间匹配,反之亦然,或者当{ {1}}字符位于字符串的边缘(开头或结尾)。

您的字符串以\w正斜杠,非单词字符开头,因此/\W永远不会在字符串的开头和\b之间匹配。不要在这里使用/,对单词字符使用明确的否定后视:

\b

re.search(r'(?<!\w){}\b'.format(re.escape(l)), s) 语法定义了一个负面的后视;与(?<!...)类似,它匹配字符串中的位置。如果前面的字符(如果有的话)是一个单词字符,那么它只会匹配。

我在这里使用了字符串格式而不是连接,并使用\b来确保正在搜索的字符串中的任何正则表达式元字符都已正确转义。

演示:

re.escape()