0

すべての文字列を置き換えようとしています。***deal***次のコードを使用すると、Quantifier {x,y} following nothingエラーが発生します。

var regex = new RegExp('***deal***', 'g');
Content=Content.replace(regex, DEAL);

エラーを回避する方法を誰かが教えてくれますか?

注として、.NET バックエンドで Server Side Javascript を使用しています。

ありがとう

4

2 に答える 2

3

**エスケープする必要があるメタ文字 (「前のトークンが 0 個以上」を意味し、正規表現では s の前に何もないため、エラー メッセージ) です。

var regex = /\*\*\*deal\*\*\*/g;

バックスラッシュの数を減らすことができるため、正規表現リテラルを使用しました。正規表現コンストラクターを使用した同等のものは次のようになります

var regex = new RegExp('\\*\\*\\*deal\\*\\*\\*', 'g');
于 2013-02-06T12:54:57.343 に答える
1

バックスラッシュでエスケープされる正規表現の特殊文字\

var regex = new RegExp('\\*\\*\\*deal\\*\\*\\*', 'g');

\文字列値では、結果をエスケープする必要もあります'\\'

于 2013-02-06T12:55:08.870 に答える