正規表現で複数置換
No.19378
モバ
さん 05/06/01 19:30
はじめまして!大変お世話になっております。
正規表現を用いて、置換を行います。
ただ、1行に置換対象が複数ある場合、うまく置換出来ません。
どうしたらいいか、わからず困っています。
ご存知の方、教えていただけますでしょうか?
宜しくお願い致します。
-------
検索:<font color="\f.+\f">
置換:<font size="2" color="\1">
▼検索内容(下記は全て1行)
<font color="#FFD700">┏</font><font color="#FF8C00">★what's new★</font><f
ont color="#FFD700">…・・</font><br /><a href="*"><font color="#0033cc">■99/
99UP</font></a>⇒あいうえお、かきくけこ<br />
[
△
]
RE:19378 正規表現で複数置換
No.19379
M.D.S.-Toy
さん 05/06/01 20:07
Toy@ユーザ、です。
「<font color="\f.+\f">」
だと
「<font color="#FFD700">┏</font><font color="#FF8C00">★what's new★</font>
<font color="#FFD700">…・・</font><br /><a href="*"><font color="#0033cc">」
が対象になってしまいます。原則として、もっとも長い文字列にマッチさせようとす
るからです。
(つまり\1に該当する部分が「#FFD700">┏</font><font color="#FF8C00">★what's
new★</font><font color="#FFD700">…・・</font><br /><a href="*"><font color=
"#0033cc」になってしまう。)
このような場合は
・ものぐさ指定を使って「<font color="\f.+?\f">」
・colorの値に「"」が含まれないことを利用して「<font color="\f[^"]+\f">」
などの手段があります。
[
△
]
RE:19378 正規表現で複数置換
No.19380
Iranoan
さん 05/06/01 23:17
モバさん今日は、Iranoan です。
念の為お断りしておくと、開発者とは何の関わりも無い単なる一ユーザです。
> 検索:<font color="\f.+\f">
標準の設定のままなら、「<font color="\f.+?\f">」とすれば良いと思いま
す。Jre32.dll を使っていても、「<font color="\f[^>]+\f">」で良いです。
[
△
]
RE:19378 正規表現で複数置換
No.19381
モバ
さん 05/06/02 11:02
Toy@ユーザさま、Iranoanさま
おはようございます。
お返事ありがとうございました。
早速テストをしてみたら、うまく行きました!
感動ですぅ(/_<。)ビェェン
ありがとうございました。
[
△
]