如何使用正则表达式搜索单词后跟空格?

时间:2019-07-02 13:16:46

标签: python regex

我正在尝试对正则表达式进行重做,以包括在单词前面有匹配项的情况下搜索匹配该单词的短语,但如果单词后面有匹配项则不进行搜索。例如,如果我的单词为exe,则希望它与cmd.exe匹配,但不与单词executable匹配。

到目前为止,我已经有了这段代码,但是可以在exe中找到executable,也可以找到以/包含exe开头的单词。

self.soup.find_all(string=re.compile('.*{0}.*'.format(re.escape(searched_word)))

1 个答案:

答案 0 :(得分:1)

您可以使用“单词边界” \b

self.soup.find_all(string=re.compile(r'\b{0}\b'.format(re.escape(searched_word)))

奖金 :原始字符串:r'\b{0}\b'以保护您的斜线;-)

来自https://docs.python.org/3/library/re.html#regular-expression-syntax

\b匹配空字符串,但仅匹配单词的开头或结尾。单词定义为单词字符序列。