- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:HTMLのタグ属性で指定された特定文字列を置換する)
HTMLのタグ属性で指定された特定文字列を置換する方法について
このQ&Aのポイント
- HTMLのタグ属性で指定された文字列を置換する方法について質問があります。
- タグの属性として使われている特定の文字列を別の文字列に変更したいです。
- 正規表現を使用して検索を試みましたが、Javaでは機能しません。
- みんなの回答 (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 年) をみるべきなのでしょうが・・・すみません。持ってないのでみてません。
お礼
教えていただいた正規表現を使ったところ正常に検索できました! 心から感謝します。 有難うございました。