Alternância

Caracteres de barra vertical "|" são usados para separar expressões alternativas. Por exemplo, a expressão gilbert|sullivan correspondem tanto a "gilbert" quanto a "sullivan". Qualquer número de alternativas pode ser usado, e uma alternativa vazia é permitida (correspondendo a uma string vazia). O processo de correspondência testa uma alternativa de cada vez, da esquerda para a direita, e a primeira bem-sucedida é usada. Se as alternativas estiverem dentro de uma sub-expressão (definida abaixo), "bem-sucedida" significa correspondência ao restante da expressão principal assim como à alternativa dentro da sub-expressão.