2011-08-17 23 views
1

は、私が長い文字列の物乞いや終わりになるか、以下のかwhitepaceが続いている文字列に一致するようにしようとしている正規表現正規表現OR/ALTERNATIVEヘルプ

と少しの助けが必要。または、2つの任意の組み合わせ。

(基本的には、特定の文字列を探したいのですが、別の単語やフレーズに含まれていない場合にのみ一致させます。 。)それゆえエリア 『始まるか、検索文字列の末尾、または以下のか、空白が続いているいずれかの「言葉に』

は、ここで私が今持っているものです。

re.compile('^(%(string)s)$|\s(%(string)s)$|^(%(string)s)\s|\s(%(string)s)\s' % {'string': my_string}) 

はそれほど冗長方法はあります2つの|を使ってこれを書いてください。 1つは始まりまたは空白のために、もう1つは終わりまたは空白のために?

今書いています。開始オプション*終了オプションのすべての順列を書き出しており、それほど効率的ではありません。

答えて

3

\b sの検索語ラップ:

\bstring\b 

\b

+0

(何の文字を消費しない)単語の境界と一致し、そして重要なのは「ゼロ幅」では正規表現は、それらのものの一つであり、あなたに感謝しますあなたが探しているものを正確に知ることができ、答えを見つけることは不可能に思えます – MattoTodd