- 作成者投稿
- 2015年12月24日 12:12 pm #22261星くず彼方に参加者
開発お疲れ様です。
マクロでselectionオブジェクトに対する検索や置換ではBoost.Regexや鬼雲を使って検索できますが、
変数に取った文字列(もしくは文字列リテラル)に対して、それらのエンジンを使った検索をする手段はあるのでしょうか?
組み込みの RegExpオブジェクトは、(JScriptのだと)EcmaScript仕様だろうと思うのですが…2015年12月25日 6:11 am #22265Yutaka Emuraキーマスター星くず彼方に 様
いつもお世話になっております。江村です。
プラグインからは、 Editor_MatchRegex インライン関数などを使って可能ですが、EmEditor マクロでは、残念ながら、そのようなオブジェクトやメソッドはないです。
もしかしたら、外部オブジェクトを使うか、RubyScript などで可能かもしれませんが、ちょっと勉強不足でわからないです。もしご希望でしたら、将来のバージョンで機能の追加を検討させていただきます。
今後もよろしくお願い申し上げます。
2015年12月25日 7:46 pm #22271星くず彼方に参加者積極的に欲しいというほどでもないので、今無いならとりあえずは無くてもいいです。
あればエディタ側の検索で作ったパターンが流用できて便利かと思った程度なので。2016年3月29日 10:15 am #22595Yutaka Emuraキーマスター星くず彼方に 様
いつもお世話になっております。江村です。
v15.9 beta 1 で対応しましたので、よろしければお試しください。
サンプルについては、ヘルプの Regex オブジェクトの各メソッドをご覧ください。
https://jp.emeditor.com/help/macro/regex/find.htm
https://jp.emeditor.com/help/macro/regex/replace.htm
https://jp.emeditor.com/help/macro/regex/test.htm
どうぞよろしくお願いします。
2016年4月15日 9:59 pm #22631星くず彼方に参加者開発お疲れ様です。
実装していただきありがとうございます。
ちょっとだけ触っただけですが、今のところおおむね問題ないと思います。ただ、ちょっと記述量が多くて大変なので、
オプション系のフラグを文字列で指定できるようになってると便利かもと思います。
EcmaScriptのRegExpの初期化のなかに
var re = new RegExp( パターン文字列, オプション指定文字列 );
という感じのがあるので、そんな感じで、ar re = editor.regex; re.SetPattern( "([A-Z0-9._%+-]+)@([A-Z0-9.-]+\.[A-Z]{2,})", "gi" );
とか、
re.Setup( "([A-Z0-9._%+-]+)@([A-Z0-9.-]+\.[A-Z]{2,})", "gi", eeExFindRegexOnigmo ); re.Setup( "([A-Z0-9._%+-]+)@([A-Z0-9.-]+\.[A-Z]{2,})", "gi" ); /* エンジンを変更しない*/
といった感じの関数 “も” あると便利かと思いました。
2016年4月19日 3:50 am #22651Yutaka Emuraキーマスター星くず彼方に 様
いつもお世話になっております。江村です。
ご意見ありがとうございます。v15.9 はまもなく正式版を公開しますので、将来のバージョンで機会があれば検討いたします。
どうぞよろしくお願いします。
- 作成者投稿
- このトピックに返信するにはログインしてください。