[ 新規に投稿する ]

正規表現での置換について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 [ コメントを投稿する ]
   こんにちは、お世話になります。

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

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

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

[ 新規に投稿する ]