1

私は文字列内の正確な単語を検索するために単語境界を使用してきましたが、単語以外の文字を無視することを知りました。

したがって、「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

かっこを認識させるにはどうすればよいですか?

4

3 に答える 3

3

2つの問題があります。

  1. re.escape(text)文字列に一致する正規表現を作成するには、を使用する必要があり ますtext
  2. 括弧と文字列の終わりの間に単語の境界はありません。
于 2012-05-10T17:55:29.483 に答える
1

p = re.compile(r'\bheight \(in stories\)')

于 2012-05-10T17:56:29.447 に答える
0

正規表現を使用する場合は、その構文を読む必要があります。

(と文字は正規表現で特別な意味を持ちます。)文字を文字どおりに一致させたい場合は、それらをエスケープする必要があります。ドットのように....

の使用を検討してくださいre.escape

于 2012-05-10T17:57:55.220 に答える