Qual a necessidade do metacaracter ? na regex, se funciona perfeitamente sem ele? e sem a necessidade de flags adicionais apara indicar a posição do registro
Afinal, nos padrões indicados na aula, os separadores só aparecem uma vez depois das sequências. Quando se coloca o metacaracter ? é que o bug aparece
padrões:
99/99/9999
99.99.9999
99 99 9999
JavaScript:
/\d{2}[-/. ]\d{2}[-/. ]\d{4}/g ---> funciona
/\d{2}[-/. ]?\d{2}[-/. ]?\d{4}/g --> não funciona, pq adiciona a sequencia de CPF
Python:
r'\d{2}[-/. ]\d{2}[-/. ]\d{4}' --> funciona
r'\d{2}[-/. ]?\d{2}[-/. ]?\d{4}' --> não funciona, pq adiciona a sequencia de CPF
se o separador sempre aparece, ? é desnecessário e até prejudicial. No caso, porque faz as sequencias de CPF entrarem na busca
Ps.:
o metacarecter ?, só se torna necessário na regex, por causa do padrão 99999999 que está presente na base de dados, mas não é mencionado pela instrutora no vídeo. Sendo assim, faz sentido a regex com ?, $ e gm