• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:HTMLのタグ属性で指定された特定文字列を置換する)

HTMLのタグ属性で指定された特定文字列を置換する方法について

このQ&Aのポイント
  • HTMLのタグ属性で指定された文字列を置換する方法について質問があります。
  • タグの属性として使われている特定の文字列を別の文字列に変更したいです。
  • 正規表現を使用して検索を試みましたが、Javaでは機能しません。

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

  • ベストアンサー
  • KSOH
  • ベストアンサー率93% (29/31)
回答No.1

知っていいるわけではなくプログラムの動作からの類推になってしまうのですが・・・ A.+?B 最短一致パターン .+? は後続するパターンBの出現でマッチする文字列をそれ以上延ばさないという意味だけれども、最短一致パターンの前にあるAについて最後に出現したAの位置からマッチさせるという意味はないようですね。 よって最後に出現したAからマッチさせたい場合は最短一致パターンに依存しない別の方法を使う必要があるのだと思います。今回の例だと最短一致パターンの前は固定文字'<'なので'<'以外の文字の繰り返しというふうに記述するとエディタに指定したパターンと同様の意味のマッチングができるようです。 "<[^<]+red.+?>" "<[^<]+?red.+?>" (本件の場合はどちらでも結果は変わらないと思います。) 本来はどのような仕様なのかAPI Documentに書いてある文献『Mastering Regular Expressions, 3rd Edition』(Jeffrey E. F. Friedl 著、O'Reilly and Associates、2006 年) をみるべきなのでしょうが・・・すみません。持ってないのでみてません。

cikora
質問者

お礼

教えていただいた正規表現を使ったところ正常に検索できました! 心から感謝します。 有難うございました。

関連するQ&A