Como faço para corresponder a palavra apenas entre parênteses
Entrada :
this is (test.com)
Saída Desejada:
test.com
grep
regular-expression
Rahul Patil
fonte
fonte
Respostas:
Aqui estão algumas opções, que imprimem a saída desejada:
Usando
grep
com o-o
sinalizador (apenas imprimir parte correspondente da linha) e expressões regulares compatíveis com Perl (-P
) que podem fazer uma busca :Esse regex pode precisar de algumas explicações:
(?<=\()
: Este é um aspecto positivo , o formato geral é(?<=foo)bar
e corresponderá a todos os casosbar
encontrados logo apósfoo
. Nesse caso, estamos procurando um parêntese de abertura, então usamos\(
para escapar dele.(?=\))
: Esta é uma aparência positiva e simplesmente corresponde ao parêntese de fechamento.A
-o
opção para fazergrep
com que apenas imprima a parte correspondente de qualquer linha, procuramos o que estiver entre parênteses e os excluímos comsed
:Analise a coisa toda com o Perl:
Analise a coisa toda com
sed
:fonte
Uma abordagem seria usar expressões regulares compatíveis com PCRE - Perl com
grep
:Referências
fonte