« Pythonでファイルを拡張子ごとのフォルダに整理 |Main| PythonでKnuth-Morris-Prattを実験 »

« Pythonでファイルを拡張子ごとのフォルダに整理 | Python | PythonでKnuth-Morris-Prattを実験 »

「特定の文字列を含まない文字列」という正規表現

「特定の文字(たとえばh)を含まない文字列」という正規表現なら

[^h]*

でいいのですが、「特定の文字列(たとえばhoge)を含まない文字列」という正規表現はどう書けばいいかな? しばらく考えてこんなのを作ってみました。

(?:[^h]|h(?!oge))*

とりあえず「<で始まり>で終わるhogeを含まない文字列」を抽出してみました。

>>> re.findall("<(?:[^h]|h(?!oge))*?>", "<><asdhoge><hogggge><hoge><oge><hogeee>")
['<>', '<hogggge>', '<oge>']

トラックバック(Trackback)

Trackback URL: http://www.nishiohirokazu.org/mt/mt-tb.cgi/30

ご意見・ご感想をお送りください(フィードバック)

(フィードバックはメールで送信され、基本的に表示されませんが、内容によっては公開させていただくこともございます。ご了承ください。Your comment doesn't appear the page immediately. If the comment has value to other people, it will be put on the page or subsequent entries. Thank you.)

上の情報は、いずれも未記入でかまいません。 All of above questions are optional.