DTP駆け込み寺
  1. [17246] 正規表現でこういう制御はできるのでしょうか? はる 2014/10/06 23:27 *
    1. [17247] Re: 正規表現でこういう制御はできるのでしょうか? 流星光輝 2014/10/07 02:35
      1. [17250] Re^2: 正規表現でこういう制御はできるのでしょうか? はる 2014/10/07 23:43

[ 返信 ]

正規表現でこういう制御はできるのでしょうか?

正規表現でこういう制御はできるのでしょうか?

グループインタビュー記事で
段落頭に付く発言者の名前部分のみを太字にしたいと考え、
見よう見まねで正規表現スタイルをやってみました。

どうせなら登場する発言者の名前が確定していなくても適用できる
汎用性ある段落スタイルにしたいと思い、
「段落頭から最大5文字、全角スペースまで太字に」といった
正規表現スタイル「^.{1,5}\s」を設定してみました。

しかしこのままですと、段落頭から5文字までに全角スペースが入ってしまう文章の場合にも
太字が適用されてしまうので、特定の文字(添付画像の例のように)をトリガーとした
例外処理ができればいいなと思っているのですが、そのような制御はできるのでしょうか?

方法がなければ汎用性はあきらめて、案件ごとに段落スタイルを作ろうと思います。
(添付画像の例ですと「^(鈴木|佐藤|アレックス)\s」ですよね)

[17246] はる (2014/10/06 Mon 23:27)

[ 返信 ]


Re: 正規表現でこういう制御はできるのでしょうか?

> 例外処理ができればいいなと思っているのですが、そのような制御はできるのでしょうか?

^[^―「]{1,5}\x{3000}

ですかね。括弧類が足りなければ追加して下さい。

※ \s は先頭から5文字で改行されている部分にマッチしてしまうので、\x{3000}に置き換えました。

[17247] 流星光輝 (2014/10/07 Tue 02:35) web

[ 返信 ]


Re^2: 正規表現でこういう制御はできるのでしょうか?

あっ、否定文字クラスで指定すればよかったんですね!
括弧類は使う可能性のあるものをいくつか追加しました。

全角スペースも、ユニコードの数値(U+3000ということですよね?)で
指定するということまで考えが回りませんでした。

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

[17250] はる (2014/10/07 Tue 23:43)