Por razões históricas. Não existe uma definição única de sintaxe de "expressão regular". O conceito de uma expressão regular em si não tem nada a ver com a sintaxe real que descreve formalmente. As pessoas vêm com diferentes maneiras de dizer a mesma coisa, daí estilos diferentes de sintaxe regex.
No entanto, você descobrirá que existem basicamente dois grupos de definições nos seguintes dias:
-
expressões regulares POSIX que especificam Basic ( BRE) e expressões regulares estendidas (ERE). A confusão começa onde, por exemplo, Expressões regulares básicas usam
\( \)
para denotar um grupo e Expressões regulares estendidas usam( )
para isso. -
expressões regulares baseadas em Perl . As expressões regulares Perl definem uma sintaxe mais consistente, onde, por exemplo, uma barra invertida sempre escapará de um caractere não alfanumérico. A sintaxe do regex Perl é encontrada em muitas linguagens de programação populares atualmente, de Java a Ruby.
Você pode conferir o artigo da Wikipédia sobre a sintaxe regex para obter mais informações.