価格数字に小数点がある場合、小数点以下の数字をCS6の正規表現でサイズ変更したい

[9286](No Subject) 投稿者:kanami 投稿日:2017/07/18 19:01:53
はじめまして。

いつも参考に拝見し、学習させていただいてます。

価格数字に小数点がある場合、小数点以下の数字をサイズ変更したいのですが、できますでしょうか?

どうぞご教示ください。

attached image
[9287]Re: 投稿者:kanami 投稿日:2017/07/18 19:04:16
すみません。大事な説明文が抜けてました

CS6の正規表現で行える方法を探しています。
[9288]Re: 投稿者:. 投稿日:2017/07/19 09:05:52
普通にできますけど、何に引っかかってるんですか?
小数点(ピリオド)にエスケープ処理が必要、なんてのは、常識でしょうし。
[9289]Re: 投稿者:uske_s 投稿日:2017/07/19 10:57:53
kanamiさん、こんにちは。
正規表現スタイルは条件次第でいくらでも変わる可能性がありますので、よくご確認のうえご利用ください。

(?<=[0-9]+\.)[0-9]+
意図する正規表現はおそらくこんな感じです。ご存知かもしれませんが、一応説明します。

(?<=hoge)は、直前にhogeがあるとき、という条件を表しています。これ自体は正規表現の結果としてヒットしません。正規表現スタイルの中では、検索条件のように使うことができます。

[0-9]は半角数字の0から半角数字の9までをUnicode順に並べたときの範囲を示しています。InDesignの文字パネルをUnicode順で表示して、半角数字の0から9の間にどんなものがあるか覗いてみてください。

+は直前のものを1回以上繰り返す、という意味です。

正規表現の中でのピリオド(.)は「何かしらの文字」を表すメタ文字(詳細は省きます^^;)なので、そうではなくて単純にピリオドを探したいという場合には直前にバックスラッシュを置きます。

以上です。ただこれは正規表現として少し未熟です。段落中にピリオドが複数出てきた場合や、先頭が0から始まる数字の場合等は考慮していません。
余計なお世話かもしれませんが、正規表現の肝はどんな正規表現を使うかよりも、どこまで例外を考慮できるかです。そのためにメタ文字(.や\s等)や定義する文字クラス([]を使った文字の指定)が具体的にどの文字(その文字のコード≒Unicodeのコードポイント)を内包するか、調べて試すを繰り返すとよりステップアップできると思います。
[9290]Re: 投稿者:uske_s 投稿日:2017/07/19 12:49:16
よく試さないですみません。
(?<=[0-9]\.)[0-9]+
こうじゃないとダメですね…。
(?<=hoge)の中には文字数が不確定になるような記述ができないのに、[0-9]+をそのままコピペしてしまっていました…^^;;
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)

このページをシェア