solo letras y espacios sin numeros
/^[a-zA-Z\s]*$/
^
(acento circunflejo) inicio de la linea$
fin de l铆nea.
cualquier car谩cter,..\.
agrega un .[ae]
en ese sitio puede estar opcional mente la a o e.ejemplo
c[aei]s[ao]
(esto se debe de cumplir en cualquier parte de la palabra ya q no definimos el inicio ^ y el fin$) se lee obligatoria mente debe de haber una c, luego puede haber una a,e o i opcional mente cualquiera y luego obligatoria mente una s y por ultimo de manera opcional una a o una o en esa posici贸n: casa, caso, ceso, sucesor,..
[:alnum:]
conjunto de letras y d铆gitos[:alpha:]
conjunto de letras[:blanck:]
conjunto de espacios en blanco[:cntrl:]
conjunto de caracteres de control[:space:]
conjunto espacios en blanco verticales y horizontales[:graph:]
conjunto de caracteres imprimibles sin incluir espacio blanco.[:print:]
conjunto de caracteres imprimibles incluyendo espacio en blanco[:digit:]
conjunto de digitos[:lower:]
conjunto de letras minusculas[:upper:]
conjunto de letras may煤sculasejemplo: sacar todos las palabras que empiecen en minusculas
"^[[:lower:]]"
es recomendable poner las comillas en nuestras expresiones regulares.
[:punct:]
conjunto signos de puntuaci贸n[:xdigit:]
conjunto de digitos hexadecimales[^ ]
exclusion del conjunto de caracteresobtener las palabras exepto las q lleven los sgtes caracteres
"c[^aei]s[^ao]"
seleccionar todas las palabras q en alguna parte tengan una c obligatoriamente despues tengan cualquier letra exceepto la a,e e i y luego q tenga obligatoriamente la s y luego q tenga cualquier letra excepto la a y o. cose, cusi, ...
[ - ]
indica valores intermedios de un inicio a un fin
"[a-d]"
es lo mismo que"[abcd]"
Expresiones extendidas(en linux usarlo con grep --color -E "expresion regular"
)
X*
el caracter de la izquierda se puede repetir 0 o m谩s vecesX?
El caracter de la izquierda puede aparecer cero o 1 vezX+
El caracter de la izquierda se repite 1 o mas vecesX{n}
El caracter de la izquierda se repite n veces exactasX{n,}
El caracter de la izquierda se repita n o mas vecesX{,n}
El caracter de la izquierda se repita cero y a lo sumo n vecesX{n,m}
El caracter de la izquierda se repita al menos n veces y a lo mucho m vecesEjemplo
"^[h-q]{8}"
busca todas las palabras de 8 letras que tengan letras entre la h y la q : hom贸nimo, pimpollo, piojillo, ...
Alternativas
|
dar por buena cualquiera de las dos expresiones regulares dadas
"^a.*t$ | ^e.*x$"
que empice por a y haya un numero indeterminado de caracteres y termine en t o empiece en e que haya cualquier cantidad de caracteres y termine en x
()
agrupaci贸n
"(c[aeiou]){2}"
de que la palabra tenga una c con una vocal y que esto se repita 2 veces seguidas : zorcico, zamacuco,..
Abreviaturas
\w
cualquier caracter alfanumerico y el gui贸n bajo\w
, es decir signos de puntuaci贸n, espacios, ...Limites
\<
inicio de una palabraEjemplo
"la[[:alpha:]]*"
me traia las, blancas, alas, clamor... pero si ahora "<la[[:alpha:]]*" solo traeria las palabras q empiecen desde la como: las, la, lamor
\>
fin de palabra\b
limite de palabra(inico y fin)usando sed de linux podemos hacerlo sed -r
"s/\b/|/g" fichero.txt
sustitue(s/) los inicosy fin de palabras(\b) por un tabulador(/b) varias veces(/g)
\B
lo contrario a \b
REFERENCIAS Capicuas