JavaScriptにおける正規表現のグループ化括弧
これまでの例では、繰り返し演算子はその直前にある1つの文字にのみ作用していました。 複数の文字に作用させたい場合はどうすればよいでしょうか?
そのためにグループ化括弧 '(' と が存在します。
これらは次のように機能します:
何かがグループ化括弧内にあり、')'')' の直後に繰り返し演算子がある場合、
その演算子は括弧内のすべてのものに作用します。
例を見てみましょう。
例
次の例では、検索パターンは次のようになります:
文字 'x'、その後文字列 'ab'
が1回以上、その後文字 'x':
let str = 'xabx xababx xaabbx'
let res = str.replace(/x(ab)+x/g, '!');
結果、変数には次の内容が書き込まれます:
'! ! xaabbx'
実践問題
次の文字列が与えられます:
let str = 'ab abab abab abababab abea';
次のパターンに一致する文字列を見つける正規表現を書いてください:
文字列 'ab' が
1 回以上繰り返される。