¿Cómo hago coincidir la palabra solo entre paréntesis
Entrada:
this is (test.com)
Salida de deseo:
test.com
grep
regular-expression
Rahul Patil
fuente
fuente
Respuestas:
Aquí hay algunas opciones, todas las cuales imprimen el resultado deseado:
Utilizando
grep
con la-o
bandera (solo imprime una parte coincidente de la línea) y expresiones regulares compatibles con Perl (-P
) que pueden hacer búsquedas :Esa expresión regular podría necesitar alguna explicación:
(?<=\()
: Esta es una mirada positiva hacia atrás , el formato general es(?<=foo)bar
y coincidirá con todos los casosbar
encontrados inmediatamente despuésfoo
. En este caso, estamos buscando un paréntesis de apertura, por lo que usamos\(
para escapar de él.(?=\))
: Esta es una anticipación positiva y simplemente coincide con el paréntesis de cierre.La
-o
opcióngrep
hace que solo imprima la parte coincidente de cualquier línea, por lo que buscamos lo que esté entre paréntesis y luego lo eliminamos consed
:Analiza todo con Perl:
Analiza todo con
sed
:fuente
Un enfoque sería usar PCRE - Expresiones regulares compatibles con Perl con
grep
:Referencias
fuente