我一直在使用单词边界来查找字符串中的确切单词,但只是了解到它们忽略了非单词字符。
因此,当我在字符串“height(in stories)”中查找“height”时,我得到了我期望的结果:
p = re.compile(r'\b%s\b' % 'height')
p.search('height (in stories)') # match
但是当我在字符串“height(in stories)”中查找“height(in stories)”时,我没有得到匹配:
p = re.compile(r'\b%s\b' % 'height (in stories)')
p.search('height (in stories)') # no match
如何识别括号?
答案 0 :(得分:3)
有两个问题。
re.escape(text)
创建与字符串text
匹配的正则表达式。答案 1 :(得分:1)
p = re.compile(r'\bheight \(in stories\)')
答案 2 :(得分:0)
使用正则表达式时,您应该读取它们的语法。
(
和)
字符在正则表达式中具有特殊含义,如果要按字面匹配字符,则需要转义它们。就像点.
...
考虑使用re.escape
。