E aqui está o transgênico mutante, o "if-then-else" dos metacaracteres.
A condição
geralmente é um número, que referencia a um grupo prévio. Se esse grupo casou, a condição é verdadeira e ER-sim
é a ER "da vez". Se a condição falhar, a ER-não
é utilizada. Isso é basicamente usado para fazer amarrações e balanceamentos, utilizando condicionais.
É algo como "case um número entre possíveis parênteses, mas se tiver tem de ter o parênteses que abre E o que fecha", ou seja, 669 e (669) são válidos, mas (669 e 669) não. Veja como fica a ER: (\()?[0-9]+(?(1)\))
. Isso porque nem preenchemos a possibilidade ER-não
...
Se isso não é exagero eu quero ser jardineiro, pois as plantas não terão teclados no futuro (será?). Ih, eu tinha dito que não reclamaria mais né, foi mal.