Команда 'или' в регулярните изрази на JavaScript
В този урок ще разгледаме командата
'|', която представлява по-
мощна версия на 'или' в сравнение
с командата [ ]. Тази команда позволява
да разделим регулярния израз на няколко части.
При това търсеното може да отговаря или на едната
част от регулярния израз, или на другата. Нека
разгледаме примери.
Пример
В този пример шаблонът за търсене е: три
букви 'a' или три букви 'b':
let str = 'aaa bbb abb';
let res = str.replace(/a{3}|b{3}/g, '!');
В резултат в променливата ще бъде записано следното:
'! ! abb'
Пример
В този пример шаблонът за търсене е: три
букви 'a' или от 1 и повече
букви 'b':
let str = 'aaa bbb bbbb bbbbb axx';
let res = str.replace(/a{3}|b+/g, '!');
В резултат в променливата ще бъде записано следното:
'! ! ! ! axx'
Пример
В този пример шаблонът за търсене е: една или повече букви или три цифри:
let str = 'a ab abc 1 12 123';
let res = str.replace(/[a-z]+|\d{3}/g, '!');
В резултат в променливата ще бъде записано следното:
'! ! ! 1 12 !'
Пример
Вертикалната черта може да раздели регулярния израз не на две части, а на произволен брой части:
let str = 'aaa bbb ccc ddd';
let res = str.replace(/a+|b+|c+/g, '!');
В резултат в променливата ще бъде записано следното:
'! ! ! ddd'
Пример
Ако вертикалната черта стои вътре в кръгли
скоби, то 'или' работи само вътре
в тези скоби.
Като пример нека намерим низове по следния
шаблон: в началото стои или 'a',
или 'b' един или повече пъти, а след това
две букви 'x':
let str = 'axx bxx bbxx exx';
let res = str.replace(/(a|b+)xx/g, '!');
В резултат в променливата ще бъде записано следното:
'! ! ! exx'
Практически задачи
Даден е низът:
let str = 'aeeea aeea aea axa axxa axxxa';
Напишете регулярен израз, който ще намери низовете
по шаблон: по краищата стоят букви 'a',
а между тях - или буквата 'e' произволен
брой пъти или буквата 'x' произволен
брой пъти.
Даден е низът:
let str = 'aeeea aeea aea axa axxa axxxa';
Напишете регулярен израз, който ще намери низовете
по шаблон: по краищата стоят букви 'a',
а между тях - или буквата 'e' два пъти
или буквата 'x' произволен брой пъти.