indesign正規表現の書き方について

[8102]indesign正規表現の書き方について 投稿者:akatsuki 投稿日:2014/03/17 19:28:04
対談など、行頭にある人名の書体を変更するとき、
ダーシの前に来る文字の書体を変える正規表現として

.+(?=─)

.+?─

前者ばかりを使っていたのですが、
後者でも出来ることが解りました。
なぜ後者でも出来るのでしょうか。
理由が解る方教えて頂けないでしょうか。
どうぞよろしくお願いします。
[8105]Re: indesign正規表現の書き方について 投稿者:流星光輝 投稿日:2014/03/18 10:33:33
肯定先読みを理解されれば、後者でもマッチするのが理解できると思います。
[8109]Re: indesign正規表現の書き方について 投稿者:やも 投稿日:2014/03/18 11:03:16
本当に変わってませんか?当てるスタイルで書体ではなく色を変えて見てみるとどうでしょうか。
[8112]Re: indesign正規表現の書き方について 投稿者:akatsuki 投稿日:2014/03/18 13:24:30
お返事ありがとうございます。

流星光輝さま
前者は解るのですが、後者は「( = )」が抜けているのに
同じ動作をするのが理解できません。。。

やもサマ
色を変えましたが、「.+?─」の書き方で変わりました。
[8113]Re: indesign正規表現の書き方について 投稿者:流星光輝 投稿日:2014/03/18 14:13:17
まぁ、ちょっとやってみましょう。
前提条件が変わるといけないので、
ちゃんと書きますけれども、正規表現スタイルを使用しているとします。

.+?―
で指定すると
ダーシも含めて色変わりますよね?

例題:ああ―あああああ―
だと全部色が変わる。

で、それを
.+(?=―)
の肯定先読みにすると
例題:ああ―あああああ
まで色が変わって、最後の―の
色が変わらないですよね。

肯定先読みにするかしないかを理解すれば解決する話だと思いました。
[8115]Re: indesign正規表現の書き方について 投稿者:やも 投稿日:2014/03/18 15:26:25
全く同じ結果にはなりませんでしたよね。―が色づくかそうでないか。

+?と(?=)は「?」入ってますが、全く意味が異なります。
ダーシまで変えるなら
^.+?― (行頭から1文字以上で「最初の」ダーシまで含む。最短一致)
変えないなら
^.+?(?=―) (行頭から1文字以上で、最初のダーシの前まで。肯定先読み)

行頭から、という位置指定を入れてないと、「1文字以上とダーシ」の組み合わせ全てにマッチするので流星さんの一つ目の例のように全部変わります。
[8118]Re: indesign正規表現の書き方について 投稿者:akatsuki 投稿日:2014/03/18 18:38:32
流星光輝さま

「ダーシの前の文字のみ」か「ダーシと文字たち」
だったのですね。
後者は間違った書き方だとばかり思っていたので、
なぜ変わるのか不思議でした。
どうもありがとうございました。
[8126]Re: indesign正規表現の書き方について 投稿者:akatsuki 投稿日:2014/03/19 21:29:37
やもサマ

遅レス失礼しつれいします。
コメントありがとうございました。

そうでした。。。色をかえたら解りました。
上述と同じで、なぜこの書き方で色が変わるのか?と
考えてしまったので、ダーシの色の変更部分の件が
吹っ飛んでいました。

何度もありがとうございました。
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)