PDF de programación - Las expresiones regulares

Imágen de pdf Las expresiones regulares

Las expresiones regularesgráfica de visualizaciones

Publicado el 13 de Diciembre del 2020
635 visualizaciones desde el 13 de Diciembre del 2020
154,8 KB
24 paginas
Creado hace 21a (08/03/2003)
Expresiones Regulares



Las expresiones regulares



$

Denen un conjunto de uno o mas strings de caracteres

Varias utileras usan expresiones regulares para

buscar/reemplazar

Un string simple de caracteres es una expresion regular que

dene un solo string de caracteres: el mismo

Una expresion regular mas compleja usa letras, numeros y

caracteres especiales para denir varios strings de caracteres

diferentes

Se dice que una expresion regular identica (matchs) cualquier

string que dene

&

Dr. Roberto Gomez C.

%

Expresiones Regulares





$

No hay que confundir expresiones regulares con Wildcards

(comodines) usados por el shell para pattern matching:

*

?

(

)

[

]

|

Utileras como cpio utilizan estos ultimos y no expresiones

regulares

Comandos awk, find, grep y otros utilizan expresiones

regulares

Editor vi utiliza expresiones regulares y caracteres comodines

&

Dr. Roberto Gomez C.

%

Expresiones Regulares



Los caracteres



$

Un caracter es cualquier caracter excepto el <retorno-lnea>

Un caracter especial es un caracter que no se representa

Para representar un caracter especial se usa un backslah (\)

&

Dr. Roberto Gomez C.

%

Expresiones Regulares



Los delimitadores



$

Marcan el principio y nal de una expresion regular

Es un caracter especial para la expresion regular que delimita

Se puede utilizar cualquier caracter como delimitador siempre y

cuando sea el mismo caracter en ambos extremos de la

expresion

Por simplicidad aqu se usa el caracter /

En algunos casos el segundo delimitador no es necesario, p.e.

cuando es seguido de un <return>

Delimitadores no son usados en las utileras grep (grep, egrep

y fgrep)

&

Dr. Roberto Gomez C.

%

Expresiones Regulares



Los strings simples



$

Lo mas simple es un string que no contiene caracteres

especiales, excepto los delimitadores

El string simple solo se identica a si mismo

Ejemplos:

Expresion

Identicar Ejemplos

Regular

/ring/

ring

ring, spring, ringing

/Thursday/ Thursday

Thursday, Thursdays

/or not/

or not

or not, poor nothing

&

Dr. Roberto Gomez C.

%

Expresiones Regulares



El punto .



$

Un punto identica cualquier caracter

Ejemplos:

Expresion Identicar

Ejemplos

Regular

/ .alk/

todos strings que contienen <espacio> will talk,

seguido por cualquier caracter seguido may balk

por alk

/.ing/

todos strings con cualquier caracter

singing,

precediendo ing

&

Dr. Roberto Gomez C.

ping,

inglenook

%

Expresiones Regulares



Los corchetes [ ]



$

Denen un conjunto de caracteres que identican cualquier

caracter simple dentro de los corchetes

Si un caracter ^ sigue al [ el conjunto representa los caracteres

a no tomar en cuenta para la identicacion

Dentro corchetes los caracteres: * $ y \ pierden su signicado

especial

Para que un caracter ] sea considerado como miembro del

conjunto debe ser el primer caracter despues de [

Un caracter ^ es especial solo si aparece como el primer

caracter despues de [

&

Dr. Roberto Gomez C.

%

Expresiones Regulares



Ejemplos:



$

Expresion

Identicar

Ejemplos

Regular

/[bB]ill/

carcater miembro conjunto bill, Bill

b y B, seguido por ill

billed

/t[aeiou].k/

t seguido vocal minuscula

talkative

cualquier caracter y k

stink

/number [- ]/ number seguido por un

number ,

<espacio> y un miembro

number :,

del conjunto entre  y

get number

/[^a-zA-Z]

cualquier caracter no-letra

, , @, Stop!

&

Dr. Roberto Gomez C.

%

Expresiones Regulares



El asterisco: *



$

El asterisco representa cero o mas ocurrencias de una

concurrencia de expresiones regulares

Asterisco despues punto identica cualquier string caracteres

Conjunto caracteres seguido de un asterisco identica string de

caracteres que son miembros del conjunto

Ejemplos:

Expresion Concordancia

Ejemplos

Regular

/ab*c/

a seguido de cero o mas

ac, abc, abbc,

b’s seguido por una c

debbcaabbbc

&

Dr. Roberto Gomez C.

%

Expresiones Regulares





$

/ ab.*c/

ab seguido de cero o mas

abc, abxc, abc

caracteres seguido por una c

xab . x cat

/t.*ing/

t seguido de cero o mas

thing, ting

caracteres seguido por ing

I think of going

/[a-zA-Z]*/

string compuesto solo por

. any string

letras <espacio>s

sin numeros

/(.*)/

tan largo como posible entre

Get (this) and

( y )

that)

/([^]*)/

tan corto como posible que

(this)

empieze con ( y termine con ) Get (this and

that)

&

Dr. Roberto Gomez C.

%

Expresiones Regulares





$

Gorrito y signo de pesos

Una expresion que empieza con un gorrio ^ puede identicar un

string solo al principio de la lnea

Signo de pesos $ al nal de una expresion regular la expresion

identica el nal de la lnea

Ejemplos:

&

Dr. Roberto Gomez C.

%

Expresiones Regulares





$

Expresion Concordancia

Ejemplos

Regular

/^T/

una T al principio de una

This line...,

lnea

That time...,

In Time

/^+[- ]/

un signo mas seguido de un nu- +, +.,

mero al principio de una lnea

+ Keep this...

/:$/

dos puntos que terminan una

...below:

lnea

&

Dr. Roberto Gomez C.

%

Expresiones Regulares





$

Marcando caracteres especiales

Se puede marcar cualquier caracter (pero no un dgito o

parentesis) precediendolo por un backslash

El marcar (quoting) un caracter especial hace que dicho

caracter se represente a si mismo

Ejemplos:

&

Dr. Roberto Gomez C.

%

Expresiones Regulares





$

Expresion Concuerda

Ejemplos

Regular

/end\./

todos strings que contienen The end., send.,

/\\/

/\*/

end seguidos por un punto

pretend.mail

un simple anti-slash

\

un asterisco

*.c, un asterisco(*)

/\[\]

[]

/and \/or/

and/or

fue un []

and/or

&

Dr. Roberto Gomez C.

%

Expresiones Regulares





$

Reglas expresiones regulares

Concordancia mas larga posible

{ expresion regular identica al string mas grande posible

{ empieza en la parte mas alejada de la lnea

{ ejemplo:

This (rug) is not what it once was (a long time

ago), is it?

que identican las expresiones: /Th.*is/, /(.*)/ y

/([^)]*)/

&

Dr. Roberto Gomez C.

%

Expresiones Regulares





$

Expresiones regulares vacas

{ expresion regular vaca representa la ultima expresion

{ ejemplo en vi: :s/mike/robert/

para hacer misma substitucion: :s//robert/

&

Dr. Roberto Gomez C.

%

Expresiones Regulares





$

Expresiones regulares completas

Utileras egrep y awk proporcionan todos los caracteres

especiales que se usan en expresiones regulares, excepto por \(

y \) y otros

Patrones que usan el conjunto extendido de caracteres

especiales se conocen con el nombre de expresiones regulares

completas

Ejemplos caracteres extras son: + y ?

&

Dr. Roberto Gomez C.

%

Expresiones Regulares





$

Expresion Identica

Ejemplos

Regular

/ab+c/

a seguido de una o mas b’s

yabcw, abbc

seguidos de una c

/ab?c/

a seguido de cero o una b’s

back, abcdef

seguidos de una c

/(ab)+c/

una o mas ocurrencias del string

zabcd, ababc!

ab seguidos de una c

/(ab)?c/

cero o una ocurrencia del string

xc, abcc

ab seguidos de una c

&

Dr. Roberto Gomez C.

%

Expresiones Regulares





$

Expresiones regulares completas y el pipe

En expresiones regulares completas el pipe | actua como or

Un pipe entre dos expresiones provoca una concordancia

cuando el string concuerda con la primera o segunda expresion

Posible usar parentesis para separar las expresiones regulares

que van a ser ledas

&

Dr. Roberto Gomez C.

%

Expresiones Regulares





$

Expresion

Signicado

Ejemplos

Regular

/ab|ac/

ya sea ab o ac

yab, ac, abac

/^Exit|^Quit/

lneas que empiezan con Exit,

Exit o Quit

Quit,

No Exit

/(D|N)\. Jones/ D. Jones o N. Jones

P.D. Jones,

N. Jones

&

Dr. Roberto Gomez C.

%

Expresiones Regulares



Caracteres especiales en expresiones regulares



$

Caracter Funcion

Especial

.

identica cualquier caracter simple

[xyz]

dene conjunto caracteres que identican x, y o z

[^xyz]

dene conjunto caracteres que concuerda con

cualquier caracter excepto x, y o z

identica cero o mas ocurrencias de la concordancia

del caracter precedente

forza una identicacion al principio de la lnea

identicacion al nal de la lnea

*

^

$

&

Dr. Roberto Gomez C.

%

Expresiones Regulares





$

\

usado para marcar caracteres especiales

\(xyz\)

identica lo que xyz identique

(a bracketed regular expression)

\<

\>

forza una concordanc
  • Links de descarga
http://lwp-l.com/pdf18551

Comentarios de: Las expresiones regulares (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad