• ベストアンサー

正規表現について

たくさんあるhtmlファイル内に特定の条件に該当するファイルを探したい場合の正規表現で、 <title>から</title>の間に「.jpg」や「%」といった特定の文字列を含んだ行を検索したいのですが、どのように書いたら良いでしょうか? お手数ですが、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • TYWalker
  • ベストアンサー率42% (281/661)
回答No.1

正規表現は方言があるので、何を使って検索するかによって変わりますが、以下は秀丸エディタのgrep機能として考えます。 <title>.*(\.jpg|%).*<\/title> これで、<title>と</title>の間に1回でも.jpgまたは%が登場する行を検索します。 ポイントは、  .* 任意の文字(.)をゼロ回以上=任意の文字列  \. ピリオド(ただ.と書くと任意の文字になってしまうので\でエスケープする)  (~|~) 複数の文字列のうちどちらか  \/ スラッシュ(これはエスケープする必要はないかもしれないが、してもいい。エスケープ不要な文字をエスケープしても、\が無視されるだけ) なお、expressoというフリーソフトをつかうと、正規表現のテストができます。

その他の回答 (1)

回答No.2

.jpgの場合は <title>.*\.jpg.*<\/title> %の場合は <title>.*%.*<\/title> 両方の場合は <title>.*(\.jpg|%).*<\/title> これでいいと思います。 回答のドットが見えにくいので注意