# Альтернация (или) | Альтернация -- термин в регулярных выражениях, которому в русском языке соответствует слово "ИЛИ". Она обозначается символом вертикальной черты `pattern:|` и позволяет выбирать между вариантами. [cut] Например, нам нужно найти языки программирования: HTML, PHP, Java и JavaScript. Соответствующее регулярное выражение: `pattern:html|php|java(script)?`. Пример использования: ```js run var reg = /html|php|css|java(script)?/gi var str = "Сначала появился HTML, затем CSS, потом JavaScript" alert( str.match(reg) ) // 'HTML', 'CSS', 'JavaScript' ``` Мы уже знаем похожую вещь -- квадратные скобки. Они позволяют выбирать между символами, например `pattern:gr[ae]y` найдёт `match:gray`, либо `match:grey`. Альтернация работает уже не посимвольно, а на уровне фраз и подвыражений. Регэксп `pattern:A|B|C` обозначает поиск одного из выражений: `A`, `B` или `C`, причём в качестве выражений могут быть другие, сколь угодно сложные регэкспы. Для указания границ альтернации используют скобки `(...)`, например: `pattern:before(XXX|YYY)after` будет искать `match:beforeXXXafter` или `match:beforeYYYafter`.