振り分けでの(?#maxlines:数値)の使い方No.01599
ヒラメ さん 17/07/03 21:53
 
いつもお世話になっています。

以前問い合わせさせて頂いた自分宛メールにマークしたいという件で、
メールの本文の先頭から指定行数以内に自分の名前が含まれているという
振り分け条件として、以下の設定を試してみました。

「本文」が「(?#maxlines:5)^(.|\n)*(名前|name).*」を含む/正規表現

どうやら思ったように動いてないようでして、本文の先頭から改行10個
入れて「名前」と書いたメールでも振り分けに反応しているようでした。

同様の検索を秀丸エディタで試すと期待通りに動いています。
(^はZに置き換えてテストしました)

(?#maxlines:5)の使い方が間違っているのでしょうか。

[ ]
RE:01599 振り分けでの(?#maxlines:数値)No.01602
秀まるお2 さん 17/07/04 10:03
 
 まいどどうもです。

 (?#maxlines:nnnn)の指定ですが、そもそも的にこの指定は、秀丸メールの振
り分けの時には効かないです。(どこにも書いてないですが)

 このmaxlineの指定は、秀丸エディタの検索の処理で、秀丸エディタが正規表
現ライブラリに検索される側の文字列を渡す時に、例えば現在編集してるテキス
トデータをそのまままるごと1つのメモリブロックとして渡すことが出来ないが
ために、標準だと1行単位で渡すのを、複数行渡す用にってことで存在してます。

 秀丸メールの振り分けで、例えば"本文"と指定されると、その本文は1つのメ
モリブロックとして正規表現ライブラリに渡されます。maxlinesの指定があって
も一切無視されます。

 なので、「ヒットする最大行数を制限する」って意味では全然効かないです。

 そもそも的に秀丸エディタの方でも、必ずしも「最大行数の制限の保証」とい
う意味で使うことは想定してないので、もしかしたら1行くらい余計にヒットす
る可能性はあったりします。

---------------------------------------------------------------
 とりあえず、秀丸メールの振り分け関係のヘルプに、(?#maxlines:nnn)は効か
ない等の記述を追加させていただきます。

 今回のようなケースについては、例えば

 ^\n{0,5}(名前|name)

 のように指定するのが適当だと思います。念のため

 (?#maxlines:5)^(\n){0,5}(名前|name)

 としておけばなおいい(秀丸エディタでの検索と互換になる)と思います。

[ ]
RE:01602 振り分けでの(?#maxlines:数値)No.01604
ヒラメ さん 17/07/04 15:17
 
いろいろご指摘ありがとうございました。

頂いた例を参考にして、「名前」の前にどんな文字が来ても大丈夫
なようにしてみました(のつもりです)。

(?#maxlines:5)^(.*\n){0,5}.*(名前|name)

これでうまく動作しているようです。ありがとうございました。

[ ]