- 作成者投稿
- 2010年10月7日 3:48 pm #9924Delフサ参加者
こんにちは。
プラグインから複数の文字列を同時に検索する方法はありますか?
いくつかの行(複数の重複行)を同時にハイライトしたいのですが
プラグインから複数の文字列を同時検索することはできるでしょうか?AAA
BBB
CCC
DDD
BBB
AAAこういう文字列があったばあい
AAAとBBBを、ハイライトさせたいということです。正規表現を使って「AAA|BBB」にして検索しようとしましたが
行の文中に正規表現が含まれてしまっては誤動作するので
困っています。目的は
ここで要望のあったプラグインを作りたいと思っているからです。
http://jp.emeditor.com/modules/newbb/viewtopic.php?topic_id=291&forum=2&post_id=1242よろしくお願いします。
2010年10月7日 10:28 pm #9925Yutaka Emuraキーマスターfusa 様
いつも EmEditor Professional をお使いいただき、誠にありがとうございます。
複数の行を検索することはできますが、残念ながら、複数行の場合は、強調表示されないという仕様になっています。
将来は、複数行でも強調表示されるようにしたいですね。
他にも何かご質問がございましたら、ご遠慮なくご発言ください。
今後もよろしくお願い申し上げます。2010年10月8日 9:27 am #9927geccaメンバー>行の文中に正規表現が含まれてしまっては誤動作する
正規表現を””でエスケープしてみてはいかがでしょうか。
それですぐに実現できるようになると思います。2010年10月9日 2:44 am #9929Delフサ参加者江村さん、了解しました。
ありがとうございます。geccaさん、するどいご指摘ありがとうございます。
私もそう考えていたのですが
正規表現自体をほとんど使わないので、
やりかたがよくわかりません。正規表現フォーラムで聞くべきかもしれませんが話の続きと言うことで聞いてみます。
メタキャラクタをエスケープすればいいんですよね。
処理としては
文字A→エスケープ文字A
「エスケープ文字A|エスケープ文字B」を正規表現検索する
とすればよいと思っています。これは江村さんにお聞きしたいところなのですが
下記のページに紹介されている文字を、単純にエスケープするために置換してからパイプで連結すればいいのかな?正規表現のサンプル集を検索と置換に分けて説明つきで詳しく紹介します。~ お勉強編 ~
http://hodade.adam.ne.jp/seiki/page.php?study_escape
正規表現サンプル(エスケープが必要な文字)このページで紹介されている記号の中で
「-」ハイフン、だけは、エスケープする必要がなさそうです。正規表現のメタキャラクタはたくさんありすぎる気がしているので、どれをエスケープすればいいのか、いまいちよくわからないところです。
ご存じでしたら教えてください。
Rubyという言語でしたら、正規表現ライブラリにescapeという機能があるそうですが、仕様は調べ切れていません。
Delphiの正規表現ライブラリでescepe機能があるものなのどはわからないので、自作しようと思っています。
2010年10月9日 5:37 pm #9932Yutaka Emuraキーマスターgecca 様
いつも EmEditor Professional をお使いいただき、誠にありがとうございます。
“.”, “|”, “*”, “?”, “+”, “(“, “)”, “{“, “}”, “[“, “]”, “^”, “$” および “” については、 でエスケープする必要があります。
また、Q と E で囲むと、その間の文字列はリテラルとして扱われ、エスケープする必要がなくなります。
詳しくは、
http://jp.emeditor.com/help/howto/search/search_regexp_syntax.htm
をご参照ください。
他にも何かご質問がございましたら、ご遠慮なくご発言ください。
今後もよろしくお願い申し上げます。2010年10月10日 7:51 pm #9935Delフサ参加者いや、質問は、geccaさんというより、私ですよ。
今回の件では
QAAAE|QBBBE
という文字列を正規表現として検索に与えると
複数文字の検索ができそうですね。行に正規表現が含まれていてもこれで大丈夫のようですね。
とても助かりました。
ヘルプの「リテラル」という単語の意味がいまいち自然な感じではなさそうなきがしましたが、動作は理解できました。
これでプラグインを作れます。
もうすぐここで公開しておきます。
http://delfusa.main.jp/delfusafloor/download/download_f.htmlありがとうございました。
2010年10月10日 9:02 pm #9936Yutaka Emuraキーマスターfusa 様
うまくいって良かったです。
いつも EmEditor プラグインを作成していただき、ありがとうございます。
今後もよろしくお願い申し上げます。2010年10月11日 6:16 am #9939geccaメンバーfusaさん
解決して良かったです。言葉少なめですみませんでした・・・。
行にマッチするのであれば、”foo|bar”よりは”^foo|bar$”ですね。関係ないですが、後々作ろうと思っていたものが
OpenFavoriteFileで実現されているようなので使ってみたいと思います。
公開ありがとうございます。2010年10月11日 1:39 pm #9940Delフサ参加者江村さん、geccaさん
こんばんは、
AAAとBBBの行を検索する場合に
^QAAAE$|^QBBBE$|
このような正規表現を指定することでうまくいっています。
ありがとうございました。OpenFavoriteFileは、自分でも特によく使い便利です。
複数ファイルの同時起動なんかにも対応していきたいですね。プラグインを作れるプラットホームが存在していて
とても助かっています。自分のプラグインへの要望が書かれているのに、気がつかず2年か3年後に気がつくという事になってしまいましたが、プラグイン開発、がんばってみます。
ではでは失礼します。
2020年5月23日 11:18 am #29233Yutaka EmuraキーマスターDelフサ 様、gecca 様
いつもお世話になっております。
v19.9 beta (v19.8.91+) からは複数検索の機能 (連続検索) を追加しましたので、よろしければお試しください。
よろしくお願いいたします。
- 作成者投稿
- このトピックに返信するにはログインしてください。