|
秀丸担当さん、こんにちは。
選択範囲 (複数可) 内で、正規表現にマッチする文字列をすべて選択するサブルーチ
ンを書いています。
「選択した範囲内のみ」を文字単位かつ複数選択対応にしたイメージです。
それに関連して2点、仕様を確認させてください。
____hoge1____[____hoge2____
____hoge3____]____hoge4____
____hoge5____
Q1. 上記サンプルテキストで [ から ] まで範囲選択した状態で、
検索ダイアログを開いて [選択した範囲内のみ]=ON で hoge を下検索すると、1番目
の hoge がヒットします。
一方、同じ状態で
searchdown2 "hoge", inselect;
を実行すると、2番目の hoge がヒットします。
この挙動は意図した仕様であり、今後も変わらないと理解してよろしいでしょうか。
Q2. 同じ状態で
searchdown2 "hoge4_*\\n", regular, inselect;
を実行すると、hoge4____(改行) がヒットします。一方、
searchdown2 "hoge4_*\\n_*", regular, inselect;
を実行すると、何もヒットしません。
つまり、inselect 付きの検索は内部的に
(1) 検索範囲外を含む全文を対象として検索する
(2) ヒットした文字列全体が検索範囲内に収まっているかどうか判定する
(3) 収まっていればヒットした扱いとし、収まっていなければヒットしなかった扱
いとする
という動作をしていると理解しましたが、正しいでしょうか。
ご教示のほどよろしくお願いいたします。
|
|