Si trabaja con texto, apreciará lo útiles que son las expresiones regulares. Las expresiones regulares están en todas partes en Linux para buscar a través del texto hasta el carácter. Esta hoja de trucos de expresiones regulares será útil para las personas que simplemente necesitan un pequeño repaso de vez en cuando.
. (punto) | Coincide con cualquier carácter individual, excepto nueva línea (\n) | c.t coincide con «gato», «corte» o «cuna». |
* (estrella) | Repetir la expresión anterior 0 o más veces (modo codicioso) | 12*3 coincide con «13», «123», «1223», «12223». Se puede usar junto con . (punto) como m.*easier coincide con «expertogeek». Usando .* por sí mismo no tiene sentido ya que coincide con todo y devuelve el resultado completo. |
+ (más) | Repite la expresión anterior 1 o más veces. | 12+3 coincide con «123»,»1223″,»12223″ |
? (signo de interrogación) | Hace que el elemento anterior sea opcional. | ma?ke coincide con «hacer», «mke» |
^ (intercalación) | Coincidir desde el principio de la cadena | ^he coincide con «hola», «diablos», «ayuda», «él es un niño» |
$ (dólar) | Coincidir desde el final de la cadena | ed$ coincide con «actuado», cama, «codicia» |
(…) (paréntesis) | Agrupación de caracteres o expresión | (ak) coincide con «hacer», «tomar», ‘ |
{n} (corchete, donde n es un número entero mayor que 0) | Coincidir con el elemento anterior exactamente n veces | 12{3}5 coincide con «12225» |
[…] (corchete) | hacer coincidir un solo carácter en el paréntesis | [abc] coincide con «a»,»b» o «c» en la cadena «abc». |
[^…] | Coincide con cualquier carácter excepto aquellos que están definidos en el paréntesis | a[^b]c coincide con «aec», «acc», «adc», pero no con «abc» |
| (tubo) | Haga coincidir la expresión a la izquierda o a la derecha de la tubería. | col(o|ou)r coincide con «color», «color» |
– (guión) | Especifique un rango de caracteres para hacer coincidir. Usado mayormente en [a-z], [A-Z],[1-9],[a-zA-Z1-9] | a[a-z]c coincide con «abc», «acc», «adc» |
\ (barra invertida) | Escape de un carácter especial y conviértalo en un carácter ordinario. | a\*c coincide con «a*c». |
\n, \r, \t | hacer coincidir un carácter de nueva línea, retorno y tabulación respectivamente | |
\cama y desayuno | Haga coincidir una palabra dentro del límite. | \bTech\b coincide con la palabra «Tecnología» en «Facilitar la tecnología». |
Algunos ejemplos más complejos
Coincidencia de un cierto número de caracteres.
Este es un ejemplo de un número de teléfono de EE. UU., sin contar el código de área:
Esto coincidirá con cualquier número de teléfono del formato «111-1111».
Hacer un patrón opcional
Aquí está de nuevo el ejemplo del número de teléfono de EE. UU., esta vez con códigos de área opcionales. Asumiremos que el archivo con los números de teléfono que estamos buscando tiene números de teléfono estructurados de la siguiente manera: 555-555-5555. Los «?» El operador denota un patrón opcional que lo precede.
([0-9]{3}-)?[0-9]{3}-[0-9]{4}
Claro, es un poco feo, como suelen ser las expresiones regulares, pero es muy poderoso.
Encontrar una variedad de caracteres:
Esto coincidirá con cualquier carácter entre 1 y 3 veces.