• ベストアンサー

InDesign 正規表現 一桁の数字

5(20.0%) 0(0.0%) 10(40.0%) こんな感じで一桁と二桁の数字が混じっている文字列の 一桁の数字の前に数字のスペースをつけて桁揃えしたいです 検索: (?<=[^\d\.])(\d)(?=\D) 置換: ~/$1 こんな感じで書いたんですがこれでは 文字列の一番最初のものが引っかかりません 「行頭または数字かドット以外に続く」 というのを表現できればいいのですが いろいろ試してもうまくいきません どう書けばいいのでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • kumoz
  • ベストアンサー率64% (120/185)
回答No.2

> (?<=[^\d\.])(\d)(?=\D) 上記の正規表現では、2行目の先頭の 0 だけなく丸カッコの直後の 0 にもマッチすると思います。(これはこれで、丸カッコ内の数字が揃うので良いようにも思えるが?) 肯定後読み (または、否定後読み) では、先頭を表す ^ を使うことができません。通常の格納用の丸カッコを使ってはどうでしょうか。 (^|[^\d\.])(\d)(?=\D) InDsign での置換文字列の書き方はわからないのですが、他の言語であれば「$1 $2」のようにすれば置換えることができます。

H240S18B73
質問者

お礼

いけました、ありがとうございます 変に肯定先読み・後読みにこだわってしまっていたようです >肯定後読み (または、否定後読み) では、先頭を表す ^ を使うことができません。 やはりそうなのですね… >2行目の先頭の 0 だけなく丸カッコの直後の 0 にもマッチすると思います。 はい、その意図で書いています、丸括弧内の数字も桁揃えします

その他の回答 (1)

  • tokiwa-so
  • ベストアンサー率57% (11/19)
回答No.1

まったく違う方法で責めますが、 まず行頭にタブ、前の数字と左括弧「(」の前にタブを入れて、 最初のタブを右揃え、2番目のタブをデシマルタブに設定すれば揃いますよ。

H240S18B73
質問者

お礼

回答ありがとうございます 実は最初それでやってたのですが、入ってる表のセルの幅がそれぞれ違っていて、都度タブの設定をしなくてはならず、表の真ん中に調整するのもかなりの作業量になってしまうので、数字のスペースを入れるやり方で統一したいと考え直した次第です 回答いただきながら申し訳ありません

関連するQ&A