- 作成者投稿
- 2008年12月5日 11:03 am #6870
ryo1122
メンバーお世話になります。
早速不具合なのかどうなのかわかりませんが、報告します。
正規表現で「ファイルから検索」を行う時のことです。
何度「ファイルから検索」を行っても、その行に入っていない文字列が他の行に入っていると、ヒットしてしまいます。具体的には下記のとおりです。
テキストファイルの内容
————————————————————-
①平成20年10月20日
②平成20年10月20日/同10月21日
————————————————————-上記のテキストファイルで、①から始まる行に”同”という文字が入っているものを探したいときに、下記のような条件を考えました。
検索条件:^(①.*同.*)$
この条件で行頭が①で任意の文字列があるなしで”同”があり任意の文字列で行末かと思います。
この条件でファイルを開いている状態でファイル内を正規表現検索すると、検索結果は引っかかりませんが、「ファイルから検索」で上記の検索条件で検索すると検索結果一覧に表示されます。
表示された結果では、上記のテキストファイルを検索した場合、”①平成20年10月20日”が結果として表示されます。
しかし、”同”という文字は含んでいません。
そこで2行目の②という文字列から”同”を削除して、「ファイルから検索」を行ったところ、検索結果に引っかからなくなりました。
推察するに、ファイル内での検索については行単位で検索すていても「ファイルから検索」では、1ファイルを①文字列として検索されているのでしょうか?
ただ”^”の行とは正しく認識されていて、$の行末が正しく認識されていない気がします。(ファイルの全体の最後?)
条件が悪いのでしたら、変更するのですが、どうも思いつかなかったので投稿しました。
2回目ですが、よろしくお願いいたします。 :-?
2008年12月5日 5:27 pm #6871Yutaka Emura
キーマスターryo1122さんは書きました:
お世話になります。早速不具合なのかどうなのかわかりませんが、報告します。
正規表現で「ファイルから検索」を行う時のことです。
何度「ファイルから検索」を行っても、その行に入っていない文字列が他の行に入っていると、ヒットしてしまいます。具体的には下記のとおりです。
テキストファイルの内容
————————————————————-
①平成20年10月20日
②平成20年10月20日/同10月21日
————————————————————-上記のテキストファイルで、①から始まる行に”同”という文字が入っているものを探したいときに、下記のような条件を考えました。
検索条件:^(①.*同.*)$
この条件で行頭が①で任意の文字列があるなしで”同”があり任意の文字列で行末かと思います。
この条件でファイルを開いている状態でファイル内を正規表現検索すると、検索結果は引っかかりませんが、「ファイルから検索」で上記の検索条件で検索すると検索結果一覧に表示されます。
表示された結果では、上記のテキストファイルを検索した場合、”①平成20年10月20日”が結果として表示されます。
しかし、”同”という文字は含んでいません。
そこで2行目の②という文字列から”同”を削除して、「ファイルから検索」を行ったところ、検索結果に引っかからなくなりました。
推察するに、ファイル内での検索については行単位で検索すていても「ファイルから検索」では、1ファイルを①文字列として検索されているのでしょうか?
ただ”^”の行とは正しく認識されていて、$の行末が正しく認識されていない気がします。(ファイルの全体の最後?)
条件が悪いのでしたら、変更するのですが、どうも思いつかなかったので投稿しました。
2回目ですが、よろしくお願いいたします。 :-?
「ファイルから検索」の場合は、お察しの通り、行単位ではなくファイル単位として検索しています。そこで、以上のような結果の違いが出ることがあります。
条件を変えて検索を行っていただけますでしょうか? また、念のため [ツール] メニューの [カスタマイズ] ダイアログの [検索] タブで、[正規表現で検索する行数] が 0 になっていることも確認してください。よろしくお願いいたします。 - 作成者投稿
- このトピックに返信するにはログインしてください。