正規表現での置換についてNo.36371
さん 18/03/01 13:03
 
 こんにちは、いつもお世話になっています。

 表題のとおりなんですが、正規表現についてです。
 置換機能を用いて、数字の後にコンマがきた場合、コンマの後に空白を入れるとい
う動作をさせました。

 検索語:(\d+,)
 置換語:\1

 ですが、123,456や12,345などのように、コンマを数字の桁区切りとして利用して
いる場合は、置換させたくないと考えているのですが、うまい方法が思いつきません。
 特定の条件の場合に、置換から除外するような書き方ができればいいと思うのです
が、何か良い方法はありますでしょうか。

 もし何か良い方法があれば、教えていただけると幸いです。

 以上、よろしくお願いいたします。

[ ]
RE:36371 正規表現での置換についてNo.36372
vscode-life さん 18/03/01 13:39
 
んー、ハッキリはあれですが、
普通に考えると

(\d+,)([\D]|$)
\1 \2

とかでいいんじゃないです? 違うのかな?

[ ]
RE:36372 正規表現での置換についてNo.36373
秀丸担当 さん 18/03/01 16:02
 

ヒットする文字列の次に来てほしくないものがある場合、後方不一致で(?!〜)で書く
方法もあります。
例えば以下のようにするといいと思います。
検索文字列「(\d+,)(?!\d)」
置換文字列「\1 」

[ ]
RE:36373 正規表現での置換についてNo.36374
さん 18/03/02 09:28
 
 こんにちは、お世話になります。

 アドバイスありがとうございます。
 アドバイスを参考に試しているんですが、なかなか思うようにいかないです。
 もうちょっと頑張ってみます。

 ありがとうございました。

 今後ともよろしくお願いいたします。

[ ]