1
resposta

Minha captura retornou todos os grupos

^([\w\s]+)|(:?\d{2}/\d{2}/\d{4})|([\w\s]+)|(\d{1,4})|(\d{5}-\d{3})|(:?[\w\s]{10,})$

Matches: Nico Steppat|14/05/1977|Rua Buarque de Macedo|50|22222-222|Rio de Janeiro

Trpuxe o grupo da data de nascimento e cidade

1 resposta

Fala ai Carlos, tudo bem? Sua Regex possuí alguns errinhos, sendo:

  1. Você precisa adicionar uma \ para escapar os |.
  2. A data de nascimento precisa ser separada por /, então você precisa adicionar \/ em cada separação de números.
  3. Você inverteu o :?, deveria ser ?:.

Obs: Para não capiturar um grupo, a gente informa ?: no começo do mesmo. Quando você usou :? você estava dizendo que o : pode ser opcional.

Ela completa:

^([\w\s]+)\|(?:\d{2}\/\d{2}\/\d{4})\|([\w\s]+)\|(\d{1,4})\|(\d{5}-\d{3})\|(?:[\w\s]{10,})$

Espero ter ajudado.