regulares regular probar palabra expressions expresiones expresion exacta especiales espacio ejemplos caracteres blanco alfanumerico regex grep special-characters

regex - probar - expresiones regulares: corchetes y paréntesis en la clase de caracteres



probar expresiones regulares (3)

La forma más común es poner un / antes del carácter, pero por extraño que parezca no funcionar para] con grep.

Si puedes usar Perl, haz esto:

% cat yourfile.txt | perl -ne ''print if(/[/[/]/(/)]/);'';

Me gustaría unir estos caracteres: [] () en una clase de personaje en una expresión regular, ¿cómo puedo hacer eso?

echo ''some text (some text in parenthesis) [some other in brackets]'' | grep ''[/[/]/(/)]''

Este no coincide con ningún personaje.


Puedes usarlo así:

echo ''some text (some text in paranthesis) [some other in brackets]'' | grep -o ''[][()]'' ( ) [ ]

No necesita escapar ( y ) dentro de una clase de personaje. Además, si coloca ] y [ justo después de abrir [ no necesita escaparse tampoco].


Solo para tu información:

Accediendo a la documentación de grep , sección 3.2 Clases de caracteres y expresiones de corchetes :

La mayoría de los metacaracteres pierden su significado especial dentro de las expresiones de corchetes.

'']''
finaliza la expresión del paréntesis si no es el primer elemento de la lista. Por lo tanto, si desea que el carácter '']'' sea un elemento de la lista, debe ponerlo primero.

Además, puede ver que ( , [ y ) no son especiales en las expresiones de corchetes.

Dado que ] en su patrón de expresión de corchete ''[/[/]/(/)]'' no es el primer carácter, termina el patrón y el siguiente ] creó una expresión de corchete incompleta.