2

RegexpオブジェクトのPythonメソッドの類似物-検索が必要です。テキスト、開始位置、終了位置の 3 つの引数があり、開始フィールドと終了フィールドを持つ Match オブジェクトを返します。

Match オブジェクトを返す関数がありますが、この関数に endIndex を実装する方法がわかりません。私はパフォーマンスについて心配しており、部分文字列メソッドを使用することに非常に消極的です。私の場合、Javascript 内で使用できる機能はありますか? 別の質問は、Python re module に似た API を提供するライブラリがありますか?

   function search(str, startIndex, endIndex) {
    var re = new RegExp(this.matcher.source, 'g' + (this.matcher.ignoreCase ? 'i' : '') + (this.matcher.multiLine ? 'm' : ''));

    re.lastIndex = startIndex || 0;
    var value = re.exec(str);

    if (!value)
        return null;

    var start = re.lastIndex - value[0].length;
    var end = re.lastIndex;

    return new Match(start, end);
}
4

1 に答える 1