[ 新規に投稿する ]

アウトライン 見出し文字列の正規表現No.42044
石田 さん 25/06/25 02:18 [ コメントを投稿する ]
  数年ぶりにまた、アウトライン機能を触り始めました。
これまで作ってきたファイルは以下のような簡単な体裁でした。
タイトル
1. 見出し
  本文
2. 見出し
  本文
で、見出しの文字列は ^[0-9]+. で決まりましたが、
以下にあるような 1.本文 2.本文 のようなテキストはアウトラインに出来る体裁を満たしているのでしょうか。
せめて、1. に続く本文先頭の10文字くらいは見出しとして使いたいのですが、その正規表現が分かりません。
---
国際司法裁判所(ICJ)における「南極における捕鯨」訴訟(仮訳)
https://www.mofa.go.jp/mofaj/gaiko/page4_000117.html
[ ]
RE:42044 アウトライン 見出し文字列の正規表現No.42045
(-L-) さん 25/06/25 10:55 [ コメントを投稿する ]
>せめて、1. に続く本文先頭の10文字くらいは見出しとして使いたいのですが、その正規表現が分かりません。

アウトラインは使いこなせてないので間違っていたら申し訳ないですが、私がアウトラインを期待通りにつかえない原因のひとつでもあるので書き込みます。

アウトライン枠には、正規表現で
ヒットした「内容」ではなく、
ヒットした「行」が表示される

のだと思います。

例えば、アウトライン枠への表示については、

指定した正規表現でヒットした行に対し、別に指定した正規表現でヒットした内容が表示される。

という仕様だと、より汎用的に使えるような気がしています。
[ ]
RE:42045 アウトライン 見出し文字列の正規表現No.42046
(-L-) さん 25/06/25 11:00 [ コメントを投稿する ]
>指定した正規表現でヒットした行に対し、別に指定した正規表現でヒットした内容が表示される。

訂正です。

指定した正規表現でヒットした「行」に対し、別に指定した正規表現で置換した「内容」の結果が表示される。

の方が良いです。
[ ]
RE:42045 アウトライン 見出し文字列の正規表現No.42047
秀丸担当 さん 25/06/25 11:12 [ コメントを投稿する ]
  アウトライン解析の見出しの文字列は、見出しとしての表示だけになっています。
内容の表示はできないです。
内容の表示をできるようにするのは難しいです。

アウトライン解析のツリーの定義で、文字列の正規表現の指定があります。
ここで改行1つを含んだ2行までの定義ができますが、見出しにできる対象となるのは1行目のみです。

見出しの表示内容は、ツリー表示の定義で、[オプション(O)>>]を押したところにある、[表示範囲]の指定があります。
独自の文字列の指定はできませんが、ヒットした行全体や、ヒットした部分のみや、次の行全体などの指定ああります。
ここにある指定以外はできないです。
次の行全体は内容の表示向けというより、一行目が罫線のような定義に対して、次の行に見出しの文字列があるような場合に有効です。
[ ]
RE:42047 アウトライン 見出し文字列の正規表現No.42048
(-L-) さん 25/06/25 11:57 [ コメントを投稿する ]


>アウトライン解析の見出しの文字列は、見出しとしての表示だけになっ>独自の文字列の指定はできませんが、ヒットした行全体や、ヒットした部分のみや、次の行全体などの指定ああります。

自動だから「行」になっていました。
ヒットした部分のみで「内容」で表示できるのですね。

>せめて、1. に続く本文先頭の10文字くらいは見出しとして使いたいのですが、その正規表現が分かりません。

石田さんの質問に対しては

^[0-9]+[\..].{10}

の正規表現で、ヒットした部分のみ表示で期待動作ですかね。
[ ]
RE:42045 アウトライン 見出し文字列の正規表現No.42049
Iranoan さん 25/06/25 12:18 [ コメントを投稿する ]
  石田さん、(-L-) さん今日はIranoanです
> >せめて、1. に続く本文先頭の10文字くらいは見出しとして使いたいのですが、その正規表現が分かりません。
<snip>
> アウトライン枠には、正規表現で
> ヒットした「内容」ではなく、
> ヒットした「行」が表示される

> のだと思います。
これが基本ですが、「デザイン」→「強調表示」で「行の強調1」「行の強調2」以外に
(?<=^[0-9]+\.).+$
を正規表現で追加し、それを「アウトライン」→「解析」→「プロパティ」/「追加」の「見出しの定義」→「種類」で「強調表示」に指定すれば一応可能では有ります

ただその強調表示の役割的には意味合いが変わってくるので、他の機能と組み合わせるときに余り使いやすくはないでしょうね

> 例えば、アウトライン枠への表示については、

> 指定した正規表現でヒットした行に対し、別に指定した正規表現でヒットした内容が表示される。

> という仕様だと、より汎用的に使えるような気がしています。
現状、アウトラインで行の強調にはできるので、前方/後方 一致/不一致が除外されたり、\1 などの明示があればその部分だけ、となれば汎用的でしょうね
マークアップ言語では、そのマークアップ部分それ自体はアウトラインでは邪魔ですから
[ ]

[ 新規に投稿する ]