13
var badCode = "\(INST1,\\[0,";
var regex = new RegExp(badCode, "igm");

「未終了の文字クラス」エラーが発生します。

直し方?

ティア

この投稿に対するレスポンダーからの提案を試してみてください。次のスクリーン プリントを参照してください (画像を右クリックして、新しいタブで開いて読みやすくする必要がある場合があります): new_bad_thing の値に注意してください (上記の badCode と同等)

実行ボタンを押したときのスクリーン プリントを次に示します (エラー メッセージに注意してください)。

ここに画像の説明を入力

4

2 に答える 2

12

別のバックスラッシュをbadCode:に置きます

var badCode = "\\(INST1,\\[0,";
var regex = new RegExp(badCode, "igm");

正規表現自体の内部でエスケープするために1つ((文字通りの括弧であることを通知する)、JavaScript用に1つエスケープする必要があるためです。

于 2013-02-01T03:45:03.300 に答える
3

いいえ、バックスラッシュをエスケープするのを忘れたため、「括弧で囲まれていない」状態になります。正規表現リテラルを使用してみませんか?

var regex = /\(INST1,\[0,/igm;
于 2013-02-01T03:44:34.980 に答える