正規表現で複数置換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さま

おはようございます。
お返事ありがとうございました。
早速テストをしてみたら、うまく行きました!
感動ですぅ(/_<。)ビェェン
ありがとうございました。

[ ]