0

RegExpJavaScript で with 変数を新規作成したい。しかし、新しい a を作成したいときに問題が発生しましたlookaround RegExp:

var xvar = "_on";
var regex = new RegExp("(?<!" + xvar + ")(.gif|.jpg|.png)$");
#=> SyntaxError: Invalid regular expression: /(?<!_on)(.gif|.jpg|.png)$/: Invalid group

特殊文字を使用した正規表現の作成に従って、すべての特殊文字をエスケープしようとしました。その後、新しい正規表現を作成できますが、ルックアラウンド正規表現ではなく、文字列のようになります。

/\(\?<!_on\)\(\.gif\|\.jpg\|\.png\)\$/

誰でも私を助けることができますか?

4

1 に答える 1

-2

あなたの目標はわかりませんがRegExp、量指定子(...)はこの状況でエラーを引き起こします。たとえば、非キャプチャ括弧を (?:...)使用します。

var regex = new RegExp("(?:<!" + xvar + ")(?:.gif|.jpg|.png)$");

参照:正規表現 - JavaScript | MDN .

@アラン・ムーア:その通りです。

于 2013-08-26T08:29:08.813 に答える