en.javascript.info/03-more/08-regular-expressions-javascript/12-regexp-alternation/article.md
Ilya Kantor f301cb744d init
2014-10-26 22:10:13 +03:00

1.4 KiB

Альтернация (или) |

Альтернация -- термин в регулярных выражениях, которому в русском языке соответствует слово "ИЛИ". Она обозначается символом вертикальной черты | и позволяет выбирать между вариантами.

[cut]

Например, нам нужно найти языки программирования: HTML, PHP, Java и JavaScript.

Соответствующее регулярное выражение: /html|php/java(script)?/:

//+ run
var reg = /html|php|css|java(script)?/gi

var str = "Сначала появился HTML, затем CSS, потом JavaScript"

alert( str.match(reg) )  // 'HTML', 'CSS', 'JavaScript'

Альтернация имеет очень низкий приоритет.

Чтобы регэксп находил одновременно gray и grey, можно использовать gr(a|e)y или gr[ae]y, но не gra|ey. Последний регэксп применит альтернацию к подвыражениям: gra (ИЛИ) ey.