1
resposta

[Dúvida] Expressão Regular -> \[([^\]]*)\]\((https?:\/\/[^$#\s].[^\s]*)\)

Olá, O caracter ponto após os colchetes na expressão "[^$#\s].", pelo que entendi em aula, representaria o primeiro ponto encontrado em 'google.com' por exemplo. No entanto o ponto em expressões regulares significaria qualquer caractere, segundo o site regex101.

Caso seja esse o caso, a expressão não deveria ser "[([^]])]((https?://[^$#\s].[^\s]*))" ?

1 resposta

Olá Cleyton, tudo bem?

Realmente, o ponto em expressões regulares representa qualquer caractere. No entanto, quando estamos utilizando a expressão regular para capturar uma URL, é importante que o ponto seja interpretado literalmente, como um ponto mesmo. Por isso, na expressão regular que você mencionou, o ponto após os colchetes é precedido por uma barra invertida, o que faz com que ele seja interpretado literalmente.

Sendo assim, a expressão regular \[([^\]]*)\]\((https?:\/\/[^$#\s].[^\s]*)\) está correta e irá capturar corretamente URLs que possuem pontos em seu domínio.

Espero ter ajudado. Caso tenha mais dúvidas ou problemas, relacionados a este tópico, estarei à disposição para ajudá-lo.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.