- 作成者投稿
- 2008年11月5日 1:57 pm #6758wataruメンバー
たとえば、以下のようなテキストがあった場合、あ行か行の行頭に「A」を挿入したいと考えます。
あいうえお
かきくけこ
さしすせそ
たちつてとそこで、あ行か行を選択した状態で置換ダイアログボックスを開き、検索する文字列に「^」、置換後の文字列に「A」、‘正規表現を使用する’、‘選択した範囲のみ’にチェックを入れて置換を行います。
期待する結果は以下の通りなのですが、実際には異なる結果になってしまいます。【期待する結果】
Aあいうえお
Aかきくけこ
さしすせそ
たちつてと【実際の結果】
Aあいうえお
Aかきくけこ
Aさしすせそ
たちつてと
(さ行の行頭にまで「A」が挿入されてしまう)ちなみに行末への挿入(検索する文字列を「$」にして置換)でも期待通りの結果を得られません。
確かEmEditorのV6までは期待する結果になっていたと思うのですが、V7以降は異なる結果になってしまいます。
(旧バージョンがすでに手元にないため確かなことは言えないのですが・・・)どちらの動作が正規表現として正しいものなのでしょうか?
そもそもこのような使い方は推奨されないものなのでしょうか?
それともEmEditorの不具合(?)なのでしょうか?ご意見等、よろしくお願いいたします。
2008年11月5日 7:03 pm #6759Yutaka Emuraキーマスターwataruさんは書きました:
たとえば、以下のようなテキストがあった場合、あ行か行の行頭に「A」を挿入したいと考えます。あいうえお
かきくけこ
さしすせそ
たちつてとそこで、あ行か行を選択した状態で置換ダイアログボックスを開き、検索する文字列に「^」、置換後の文字列に「A」、‘正規表現を使用する’、‘選択した範囲のみ’にチェックを入れて置換を行います。
期待する結果は以下の通りなのですが、実際には異なる結果になってしまいます。【期待する結果】
Aあいうえお
Aかきくけこ
さしすせそ
たちつてと【実際の結果】
Aあいうえお
Aかきくけこ
Aさしすせそ
たちつてと
(さ行の行頭にまで「A」が挿入されてしまう)ちなみに行末への挿入(検索する文字列を「$」にして置換)でも期待通りの結果を得られません。
確かEmEditorのV6までは期待する結果になっていたと思うのですが、V7以降は異なる結果になってしまいます。
(旧バージョンがすでに手元にないため確かなことは言えないのですが・・・)どちらの動作が正規表現として正しいものなのでしょうか?
そもそもこのような使い方は推奨されないものなのでしょうか?
それともEmEditorの不具合(?)なのでしょうか?ご意見等、よろしくお願いいたします。
確かに Version 6 では、上の【期待する結果】になることを確認しました。しかし、これはエディタの仕様といえないでしょうか? Visual Studio 2008 では、上の【実際の結果】と同じ動作になりました。選択の終了位置は、3 行目の先頭文字の左にあると考えると、3行目の行頭も選択に含まれると考えることができます。上2行の行頭だけを変換したい場合は、2行目の行末までを選択して置換すれば問題がなくなります。
2008年11月9日 1:35 am #6768wataruメンバーご回答ありがとうございます。
>選択の終了位置は、3 行目の先頭文字の左にあると考えると、3行目の行頭も選択に含まれると考えることができます。
確かにこのように考えれば納得できますね。
ただ、私個人としては Version 6の時の動作の方がより直感的だと思うのですが、 Version 7から仕様が変わったことに関して、何か理由があるのでしょうか?もし実装上の制約等、決定的な理由がないようであれば、要望としてあげさせていただこうと思います。
(その際は、改めて要望掲示板の方へ掲載いたします) - 作成者投稿
- このトピックに返信するにはログインしてください。