通常はです。は、(?s)フラグを使用してエンジンを指定しない限り、改行にマッチしません。私は、Perlスタイルの正規表現モードを使用して、私の編集者(ウルトラv14.10)正規表現エンジン上でこの正規表現を試してみました:ドットマッチオールモードを使用した正規表現
(?s).*i
検索テキストを複数行に含まれており、各行は、多くの「I」の文字が含まれています。
私は上記の正規表現の手段を期待:できるだけ多くの文字を検索 '文字に到達するまで(理由*のための貪欲の)可能性として(。なぜならと「?の」をは今、改行を含むものと一致しました)私'。
これは、「最後の文の最初の文字から最後の 'i」を意味するはずです(最後の文には貪欲があるはずですか?)。
しかし、UltraEditのテストでは、最初の文字から最後の 'i'までの最初の文にiが含まれています。この結果は正しいですか?私のreg式の間違った解釈をしましたか?
このテキスト
aaa
bbb
aiaiaiaiaa
bbbicicid
与えられ、それがマッチした
aaa
bbb
aiaiaiai
です。しかし、私は期待しています:
aaa
bbb
aiaiaiaiaa
bbbicici
あなたが言及したlookbehindのバグについてはわかりません。しかし、入力ファイル全体を貪欲に調べるのが遅すぎて、このように振る舞いを変えることはできないのだろうか? UltraEditでは、MBの入力ファイルのサイズを編集できることを覚えておいてください。 – JavaMan
EditPadProはGBのファイルを扱い、これらの正規表現の制限はありません。欲張りな正規表現を作れば、正しく動作すると思っています。これはメモリ不足を意味する場合は、それは私の問題やOSですが、エディタは私を推測してはいけません。 –