HTMLで、開始 < と終了 > に囲まれた特定の文字列を別の文字に書き替えたいのですが、思う通りに動かなくて困っており、質問させていただきます。 例えば以下の2行のHTMLがあったとします。 赤は英語でredです。 赤は英語でredです。 このHTMLで、タグの属性として使われている「color="red"」と「style="color:red;"」の部分だけ「red」を「black」に変更したいのです。 (文字列として使われている「英語でredです」の部分はそのまま) 秀丸やさくらエディタで正規表現を使って検索すると、 <.+?red.+?> で検索できましたがJavaでは検索ができません・・・。 コード: String strHtml = "赤は英語でredです。赤は英語でredです。"; Pattern pattern = Pattern.compile( "<.+?red.+?>", Pattern.DOTALL ); // 正規表現で検索 Matcher matcher = pattern.matcher( strHtml ); while( matcher.find() ){ System.out.println( "res=" + matcher.group( 0 ) ); } 出力結果: res= res= res=赤は英語でredです。赤は英語でredです。 エディタと同じようにとが取りたいのですが・・・、考え方もしくは正規表現が間違っているのでしょうか? お分かりの方がいましたら御助力いただけたら助かります。 よろしくお願いします。
↧