Підручник з регулярних виразів - чергування з вертикальною смугою
Я вже пояснював, як ви можете використовувати класи символів для збігу одного символу з кількох можливих символів. Чергування подібне. Ви можете використовувати чергування, щоб зіставити один регулярний вираз із кількох можливих регулярних виразів.

Якщо ви хочете знайти буквальний текст кішка чи собака, розділіть обидва варіанти вертикальною смужкою або символом труби: кішка | пес . Якщо ви хочете більше варіантів, просто розширіть список: cat | собака | миша | риба .
Оператор чергування має найнижчий пріоритет серед усіх операторів регулярних виразів. Тобто він повідомляє двигуну регулярних виразів, щоб він відповідав або усьому зліва від вертикальної смуги, або у всьому, що знаходиться справа від вертикальної смуги. Якщо ви хочете обмежити охоплення чергування, вам потрібно скористатися дужками для групування. Якщо ми хочемо вдосконалити перший приклад, щоб він відповідав лише цілим словам, нам потрібно було б використовувати \ b (cat | dog) \ b. Це підказує механізму регулярних виразів знайти межу слова, потім кішку чи собаку, а потім іншу межу слова. Якби ми опустили дужки, тоді механізм регулярного виразу шукав би межу слова, за якою слід кішка, або собака, за якою межа слова.
Пам'ятайте, що двигун Regex прагне
Я вже пояснював, що двигун регулярних виразів прагне. Він припиняє пошук, як тільки знаходить дійсний збіг. Наслідком є те, що в певних ситуаціях порядок альтернатив має значення. Припустимо, ви хочете використовувати регулярний вираз для узгодження списку імен функцій мовою програмування: Get, GetValue, Set або SetValue. Очевидним рішенням є Get | GetValue | Встановити | SetValue. Давайте подивимося, як це працює, коли рядок SetValue .
Механізм регулярних виразів запускається з першого маркера в регулярному виразі, G, і з першого символу в рядку, S. Матч не вдається. Однак механізм регулярних виразів вивчив весь регулярний вираз перед запуском. Отже, він знає, що цей регулярний вираз використовує чергування, і що все регулярне вираження ще не вийшло з ладу. Отже, це продовжується з другим варіантом, будучи другим G у регулярному виразі. Матч знову не вдається. Наступний маркер - це перший S у регулярному виразі. Збіг вдався, і движок продовжується із наступним символом у рядку, а також наступним символом у регулярному виразі. Наступним маркером у регулярному виразі є e після S, який щойно вдало збігся. e відповідає e. Наступний маркер, t відповідає t .