RegExp

  • . : cualquier caracter (pero solo 1)
  • * : cualquier ristra de caracteres (desde 0)
  • ? : cualquier caracter, pero de manera opcional (1 o 0) → regexp extendidas
  • [abc] : a || b || c
  • [^ac] : NO a || NO c
  • [0-9] : rango
  • <palabra1>|<palabra2> palabra1 o palabra2 → regexp extendidas
  • \<palabra : palabra sin que tenga nada a la izquierda (signo < escapado)
  • palabra\> : palabra sin que tenga nada a la derecha (signo > escapado)
  • + : repetido al menos una vez → regexp extendidas
    grep -E ':[0-9]+' # haría match sobre los minutos y segundos -y dos puntos - de una hora (por ejemplo, 03:32:39)
  • \{n\} : repetido n veces (signos { y } escapdados en regexp básicas, no en extendidas)
  • \{n,m\} : repetido entre n y m veces

todas las mayúsculas se meten entre ( y )

sed 's/\([A-Z]\)/(\1)/g' frases
  • en la primera parte de la expresión, se escapan ( y ) pq forman parte de la subexpresión
  • en la segunda parte, simplemente se usan

otra expresión de reemplazo sin subexpresiones:

sed 's/.*/"&"/g' frases

extraer direcciones de correo de un fichero:

grep -E '\<[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\>' FICHERO
  • development/java/regexp.txt
  • Darrera modificació: 13/12/2019 07:18
  • per mate