1
myString 6 cyl, 3.2L (3197cc) engine
を指定すると、次のように抽出する必要があります。6 cyl
および3197cc
。
このコードは失敗しており、修正方法がわかりません。 「ヌルのプロパティを読み取ることができません 『1』」正規表現を使用して特定のテキストを抽出する
const rgx = /(\d cyl).*(\d{2,4}?cc)/g; //defined outside a loop
//inside the loop we have myString changes every run.
let match = rgx.exec(myString);
console.log(match[1]); // => 6 cyl
console.log(match[2]); // => 97cc <--------- suppose to be 3197cc
周りに続いて次のループ、全部が
を言っ一致しません。
私は間違っていますか?
あなたがあなたの正規表現を変更し (非貪欲対貪欲)、これは正規表現が可能な最小のマッチで一致させている周囲の括弧に一致していない
レイジー: '*'&括弧をエスケープ==> [ '/(\ dがCYL)* \((\ dの{2,4} CC)。??? \)/ g'](https://regex101.com/r/UhEOnk/1) – Tushar
完全なコードを追加できますか?ループと完全な文字列が質問にありません。 – Tushar