# Команда 'или' в регулярных выражениях 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'` любое количество раз.

←→
↑
en ru