【正規表現】数字の羅列にカンマを付け、末尾に円を付ける

スポンサーリンク

数字の羅列にカンマを付け、末尾に円を付ける正規表現を備忘録メモ。

例文

今回は、以下のダミー価格に対して、3桁ごとのカンマ区切り、末尾に円の追加を行います。

“`15500
23800・25500
6400
15700〜20000
23800
7350
9200・9500
47000
4900
15200〜34000
8800
11129800“`

確認ソフト

  • CODA1.7
  • CODAでの設定は以下のような感じ。

正規表現-その1

1度にすべての処理を行うのは無理なため、2度に分けて行います。まずは3桁毎にカンマを入れます。

検索
“`(?<=\d)(?=(?:\d{3})+(?!\d))“`
置換
“`,\1“`
  • (?<=\d)…左側に数字が存在する
  • (?:\d{3})…数字3桁。?:はグループ化の意味しかない。
  • (?!\d)…右側に数字がきてはいけない。

1次結果

“`15,500
23,800・25,500
6,400
15,700〜20,000
23,800
7,350
9,200・9,500
47,000
4,900
15,200〜34,000
8,800
11,129,800“`

正規表現-その2

正規表現-その1の置換結果を使い、次は数字の末尾に円を追加します。

検索
“`((?:\d{3})(?!,))“`
置換
“`\1円“`
  • (?:\d{3})…数字3桁。?:はグループ化の意味しかない。
  • (?!,)…数字の右にカンマが存在しない

2次結果

“`15,500円
23,800円・25,500円
6,400円
15,700円〜20,000円
23,800円
7,350円
9,200円・9,500円
47,000円
4,900円
15,200円〜34,000円
8,800円
11,129,800円“`

この正規表現は、この本を見て調べながら行いました。