如何使用反斜杠进行搜索

时间:2019-06-28 16:25:19

标签: regex python-3.x beautifulsoup

我正在努力浏览网站以查找特定的单词。我使用带有bs4的re.compile来搜索单词。如果我的单词中包含反斜杠('\'),则出现问题。我希望可以在此方面获得一些帮助。我的代码通常是这样

results = self.soup.find_all(string=re.compile('.*{0}.*'.format(searched_word), re.IGNORECASE), recursive=True)

当我尝试使用re.error: bad escape \M at position 13时,此代码将引发错误searched_word = Software\Microsoft\Windows\CurrentVersion\Run

我在某处读到为了避免反斜杠,我应该将其设置为Software\\Microsoft\\Windows\\CurrentVersion\\Run,这会引发错误。或Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run不会引发错误,但不会返回文本。

1 个答案:

答案 0 :(得分:0)

似乎您没有在转义re.compile()的字符串。为此,请使用re.escape()doc):

results = self.soup.find_all(string=re.compile('.*{0}.*'.format(re.escape(searched_word)), re.IGNORECASE), recursive=True)