Seskupující závorky v regulárních výrazech JavaScriptu
V předchozích příkladech operátory opakování působily pouze na jeden znak, který stál před nimi. Co dělat, pokud chceme, aby působily na několik znaků?
K tomu existují seskupující závorky
'(' a . Fungují takto:
pokud něco stojí v seskupujících závorkách
a hned za ')'')' je operátor opakování
- bude působit na vše, co je uvnitř závorek.
Podívejme se na příkladech.
Příklad
V následujícím příkladu vypadá vyhledávací vzor
takto: písmeno 'x', dále řetězec 'ab'
jednou nebo vícekrát, poté písmeno 'x':
let str = 'xabx xababx xaabbx'
let res = str.replace(/x(ab)+x/g, '!');
V důsledku se do proměnné zapíše následující:
'! ! xaabbx'
Praktické úlohy
Je dán řetězec:
let str = 'ab abab abab abababab abea';
Napište regulární výraz, který najde řetězce
podle vzoru: řetězec 'ab' se opakuje
1 nebo vícekrát.