正規表現検索No.21482
mh さん 06/06/17 16:58
 
検索文字列に
^[^ ][^ ] [^ ][^ ]$
とすると、

●● ●●\n
●● ●\n

の両方にhitするのってなんとかならないんでしょうか?
$をつけているのに[^ ]が\nにもマッチするのでちょっと困っています。
ちなみにハイライトされるのは「●● ●●」のみですので、ハイライト
との矛盾もおかしいかなと思うんですが。

[ ]
RE:21482 正規表現検索No.21483
Iranoan さん 06/06/17 17:36
 
 mh さん今日は、Iranoan です。
 念の為お断りしておくと、開発者とは何の関わりも無い単なる一ユーザです。
> $をつけているのに[^ ]が\nにもマッチするのでちょっと困っています。
 $ は改行で終わっていないファイルの終端でもマッチするので、動作として
解らなくは無いですが、解りにくいですね...。

 正式なコメントは、秀まるおさんか秀丸担当さんからあると思いますが、取
り敢えず、
^[^ ][^ ] [^ ][^ \n]$
でご希望の動作になるのではないでしょうか?

[ ]
RE:21483 正規表現検索No.21484
三月 さん 06/06/17 17:59
 
> mh さん今日は、Iranoan です。
> 念の為お断りしておくと、開発者とは何の関わりも無い単なる一ユーザです。
>> $をつけているのに[^ ]が\nにもマッチするのでちょっと困っています。
> $ は改行で終わっていないファイルの終端でもマッチするので、動作として
>解らなくは無いですが、解りにくいですね...。
>
> 正式なコメントは、秀まるおさんか秀丸担当さんからあると思いますが、取
>り敢えず、
>^[^ ][^ ] [^ ][^ \n]$
>でご希望の動作になるのではないでしょうか?

なんとなく、
^[^ ][^ ] [^ ]

[^ ]$
(行末が全角空白以外)
な解釈かと・・・

^[^ ][^ ] [^ ][^ ]\n
でもよいのでは?

[ ]
RE:21484 正規表現検索No.21485
mh さん 06/06/17 18:41
 
現在は$を使わず\nで対処しています。
テキストエディタの場合行末を\nでやっても問題になる場面は
ほとんどありませんが、個人的には行末を明示するのに\nは
あまり使いたくはないです。

[ ]
RE:21485 正規表現検索No.21489
秀丸担当 さん 06/06/19 11:44
 

>現在は$を使わず\nで対処しています。
>テキストエディタの場合行末を\nでやっても問題になる場面は
>ほとんどありませんが、個人的には行末を明示するのに\nは
>あまり使いたくはないです。

$の代わりに\nを使うとしてもこのケースでは解決にならないのではないかと思
いますがどうでしょうか。
Iranoanさんの言われるように、
^[^ ][^ ] [^ ][^ \n]$
という感じにするのがいいと思います。

$があるのに最後の改行にヒットしたうえで、さらに行末にもヒットするという
のは違和感があるかもしれませんが、いまから仕様を変更するのも困難だと思い
ます。
秀丸エディタは行末の改行も含めて一行として正規表現DLLに渡しています。
HmJre.dllを修正したとしても、Jre32.dllやBregIf.dllとか使うと同じ問題は起
きることになります。

検索文字列の強調の矛盾は、先行開発中のV6.00では最後の改行だけを含む場合
も許容するように改善しています。
ただしそれ以上の複数行にまたがる場合は強調表示されません。

[ ]