1 件の投稿を表示中 (合計 6 個)
  • 作成者
    投稿
  • #22261

    開発お疲れ様です。

    マクロでselectionオブジェクトに対する検索や置換ではBoost.Regexや鬼雲を使って検索できますが、
    変数に取った文字列(もしくは文字列リテラル)に対して、それらのエンジンを使った検索をする手段はあるのでしょうか?
    組み込みの RegExpオブジェクトは、(JScriptのだと)EcmaScript仕様だろうと思うのですが…

    #22265
    Yutaka Emura
    キーマスター

    星くず彼方に 様

    いつもお世話になっております。江村です。

    プラグインからは、 Editor_MatchRegex インライン関数などを使って可能ですが、EmEditor マクロでは、残念ながら、そのようなオブジェクトやメソッドはないです。
    もしかしたら、外部オブジェクトを使うか、RubyScript などで可能かもしれませんが、ちょっと勉強不足でわからないです。

    もしご希望でしたら、将来のバージョンで機能の追加を検討させていただきます。

    今後もよろしくお願い申し上げます。

    #22271

    積極的に欲しいというほどでもないので、今無いならとりあえずは無くてもいいです。
    あればエディタ側の検索で作ったパターンが流用できて便利かと思った程度なので。

    #22595
    Yutaka 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

    どうぞよろしくお願いします。

    #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" ); /* エンジンを変更しない*/ 

    といった感じの関数 “も” あると便利かと思いました。

    #22651
    Yutaka Emura
    キーマスター

    星くず彼方に 様

    いつもお世話になっております。江村です。

    ご意見ありがとうございます。v15.9 はまもなく正式版を公開しますので、将来のバージョンで機会があれば検討いたします。

    どうぞよろしくお願いします。

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