検索を使用して複数のケースを正規表現で照合しようとしています。Search()RegExpで余分なカッコを追加 - 正規表現が無効
var r = new RegExp(actualArr[i] + '(e?s)?(\>|$)', 'gi')
と私は、次のような検索を使用しています:私の正規表現がある
if(expected.search(r) !== -1){...}
私は、検索を使用してコンソールで正規表現を実行すると、それだけで正常に動作しますが、私の通過私は印刷
SyntaxError: Invalid regular expression: /(Squat(e?s)?/: Unterminated group
:アプリ私は次のエラーを取得します余分な(
がここに追加されているのはなぜ
/Squat(e?s)?(>|$)/gi
:私の正規表現から、私はこれを取得しますか?私は何が欠けていますか?ここ
は、コードの完全なブロックです:サイドノートとして
let matchPlural = function(actual,expected) {
let actualArr = actual.split(" ");
for(let i = 0; i < actualArr.length; i++){
let r = new RegExp(actualArr[i] + '(e?s)?(\>|$)', 'gi')
if (expected.search(r) !== -1){
return true;
}
}
return false;
}
、私はAngularJSで開発しています、私はそれが何に影響を与えるべきではないと思う...
うわー、おかげで見たときに、この1は無効になります。..私は愚かな気がします、私はそれが最初の項目で失敗していたと仮定しました。これはうまく動作し、 'word'が正規表現の比較部分をスキップするために空の文字列であるかどうかのチェックを追加するだけでした。 もう一度おねがいします! –