|
メール一覧や検索フォルダの検索条件で正規表現を使った場合と、
秀丸エディタやメールエディタ内で正規表現を使った場合で、
行頭ヒットの挙動に差がでています。
例えば、本文が以下のような内容であるメールがあったとします。
--------
foo
bar
foobar
--------
このとき、
^bar
という検索クエリであれば、メール一覧、エディタ内どちらも同じ様にヒットします。
ところが、
(?<=^)bar
(^b|uzb)ar
のように、前方一致や、グループ化の括弧の中に行頭が含まれると、メール一覧の方
でのみヒットしなくなります。
上記の例だと、前方一致の括弧で括る意味はありませんが、実例では以下のようにも
うちょっと前方一致のカッコ内で複雑な条件を入れて使っています。
他の OR 条件との兼ね合いで「引用行は除外する」オプションを使えないときに、行
頭に引用の文字が入っていない行内の任意の位置の文字列部分にのみヒットさせる例:
(?<=^(?!>|\|).*)fuga
※これもこれで、前方一致を外しても想定されるメール単位の検索結果は変わりませ
んが…、 強調表示の位置などが変わってきます。
メール一覧や検索フォルダの検索条件では、対象を 「本文」,「すべてのヘッダと本
文」,「簡略ヘッダ+本文」のいずれかを使っています。
正規表現ライブラリは、いずれも HmJre.dll V5.09 で同じです。
秀丸メールは 6.97, 秀丸エディタは 8.95 です。
|
|