1 件の投稿を表示中 (合計 3 個)
  • 作成者
    投稿
  • #9095
    eeee
    メンバー

    【バグ内容】
    正規表現「.」を使用すると「ファイルから検索」の検索結果が正しく表示されないことがあるようです。

    【再現方法】
    このような2行のテキストファイルを用意します。
    –ここから–
    line1
    line2
    –ここまで–

    「ファイルから検索」で「正規表現を使用する」を選択し「.*2」を検索するとline1の行が検索結果として表示されます。

    【補足】
    ・「検索」で同様の検索すると正しく「line2」がヒットします。
    ・「ファイルから検索」で同様の置換をすると置換結果は正常です。
    ・「ファイルから検索」で「w*2」を検索すると検索結果は正常です。
    ・「ツール」>「カスタマイズ」>「正規表現で検索する追加行数」は0にしてあります。
    ・v9.15、v9.16の両方で発生を確認しました。
    ・デフォルト以外のプラグインは導入していません。

    #9096
    Yutaka Emura
    キーマスター

    eeee 様

    いつも EmEditor Professional をお使いいただき、誠にありがとうございます。

    [カスタマイズ] ダイアログの [検索] タブで、[正規表現が改行文字に一致することができる] がチェックされているのではないでしょうか? これがチェックされていると、ご指摘通り、この場合 1 行目が検索結果として表示されますが、仕様通りの結果です。このチェックを外せば、2 行目が表示されます。ご確認いただけると幸いです。

    他にも何かご質問がございましたら、どうぞご遠慮なくご発言いただけると幸いです。
    今後もよろしくお願い申し上げます。

    #9097
    eeee
    メンバー

    チェックを外すことで再現しなくなることを確認しました。

    [ファイルからの検索]した場合のみ「.」が1行目の「n」をまたいで「line1nline2」にマッチするので結果として1行目が表示されるということですね。

    チェックを付けた状態で「.」が改行文字にマッチするかどうかはヘルプの通り下記の挙動でした。

    1.[検索]時には[正規表現で検索する追加行数]の値に依存する
    2.[ファイルから検索]時には依存しない
    3.[ファイルから置換]時には依存する

    3つの違い、特に2と3の違いはとても違和感がありますが、仕様ということで挙動は理解できました。

    ご回答ありがとうございました。

1 件の投稿を表示中 (合計 3 個)
  • このトピックに返信するにはログインしてください。