Buscar

Aula23 ExpressoesRegulares

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação	
  para	
  Servidores	
  
Aula	
  23	
  
Sumário	
  
•  Expressões	
  regulares;	
  
2	
  
Expressões	
  Regulares	
  
•  Uma	
  expressão	
  regular	
  é	
  um	
  método	
  formal	
  de	
  se	
  
especificar	
  um	
  padrão	
  de	
  texto;	
  
•  Em	
  outras	
  palavras,	
  é	
  um	
  conjunto	
  de	
  caracteres	
  com	
  
funções	
  especiais	
  e	
  caracteres	
  literais,	
  que,	
  
agrupados	
  entre	
  si,	
  formam	
  uma	
  expressão	
  que:	
  
– Define	
  um	
  padrão	
  ou	
  um	
  conjunto	
  de	
  regras;	
  
– Pode	
  ser	
  usada	
  para	
  comparar	
  uma	
  ou	
  mais	
  entradas	
  de	
  
dados:	
  
•  Quando	
  uma	
  entrada	
  de	
  dados	
  obedece	
  às	
  regras	
  determinadas	
  
pela	
  expressão	
  regular	
  em	
  questão,	
  dizemos	
  que	
  ela	
  casa	
  com	
  o	
  
padrão;	
  
3	
  
Expressões	
  Regulares	
  
•  Usualmente	
  são	
  uLlizadas	
  em:	
  
– Pesquisas	
  de	
  textos	
  que	
  se	
  encaixam	
  em	
  determinado	
  
critério;	
  
– Validação	
  de	
  informações	
  em	
  cadastros,	
  etc.	
  
•  Expressões	
  regulares	
  são	
  consLtuídas	
  a	
  parLr	
  de:	
  
– Caracteres	
  normais	
  ou	
  literais;	
  
– Caracteres	
  especiais,	
  que	
  podem	
  ser:	
  
•  Representantes,	
  quanLficadores,	
  âncoras	
  ou	
  outros.	
  
4	
  
Expressões	
  Regulares	
  
•  Metacaracteres	
  representantes	
  /	
  significado:	
  
.	
  	
   (ponto)	
   -­‐	
  um	
  caractere	
  qualquer	
  
[...]	
   (lista)	
   -­‐	
  lista	
  de	
  caracteres	
  permiLdos	
  
[^...]	
   (lista	
  negada)	
   -­‐	
  lista	
  de	
  caracteres	
  proibidos	
  
•  Metacaracteres	
  quanLficadores	
  /	
  significado:	
  
?	
   (opcional)	
   -­‐	
  zero	
  ou	
  um	
  
*	
   (asterisco)	
   -­‐	
  zero,	
  um	
  ou	
  mais	
  
+	
   (mais)	
   -­‐	
  um	
  ou	
  mais	
  
{n, m}	
   (chaves)	
   -­‐	
  de	
  n	
  até	
  m	
  
5	
  
Expressões	
  Regulares	
  
•  Metacaracteres	
  âncoras	
  /	
  significado:	
  
^	
   (circunflexo)	
   -­‐	
  início	
  da	
  linha	
  
$	
   (cifrão)	
   -­‐	
  final	
  da	
  linha	
  
\b	
   (borda)	
   -­‐	
  início	
  ou	
  fim	
  de	
  palavra	
  
•  Outros	
  metacaracteres	
  /	
  significado:	
  
\	
   (escape)	
   -­‐	
  torna	
  literal	
  o	
  caractere	
  à	
  sua	
  direita	
  
|	
   (ou)	
   -­‐	
  um	
  ou	
  outro	
  
(...)	
   (grupo)	
   -­‐	
  delimita	
  um	
  grupo	
  
\1...\9	
   (retrovisor)	
   -­‐	
  texto	
  casado	
  nos	
  grupos	
  1...9	
  
6	
  
Expressões	
  Regulares	
  
•  Metacaracteres	
  Lpo	
  representante	
  -­‐	
  casam	
  com	
  a	
  
posição	
  de	
  um	
  único	
  caractere;	
  
.	
  (ponto):	
  casa	
  com	
  qualquer	
  caractere	
  (letra,	
  número,	
  
tabulação,	
  @,	
  etc.),	
  inclusive	
  com	
  o	
  caractere	
  ponto;	
  
– Exemplos	
  (expressões	
  e	
  cadeias	
  que	
  casam	
  com	
  o	
  padrão):	
  
n.o	
   -­‐	
  não,	
  nao,	
  n.o,	
  n5o,	
  nAo,	
  ...	
  
e.tendido	
   -­‐	
  estendido,	
  extendido,	
  entendido,	
  ...	
  
12.45	
   -­‐	
  12:45,	
  12	
  45,	
  12345,	
  12.45,	
  ...	
  
<.>	
   -­‐	
  <B>,	
  <i>,	
  <p>,	
  ...	
  
7	
  
Expressões	
  Regulares	
  
•  Metacaracteres	
  Lpo	
  representante	
  (conLnuação...):	
  
–  Uma	
  lista	
  guarda	
  os	
  caracteres	
  com	
  o	
  qual	
  o	
  casamento	
  é	
  
permiLdo.	
  Caracteres	
  que	
  não	
  constam	
  da	
  lista	
  impedem	
  o	
  
casamento.	
  
–  Exemplos	
  (expressões	
  e	
  cadeias	
  que	
  casam	
  com	
  o	
  padrão):	
  
n[ãa]o	
   não,	
  nao	
  
e[sn]tendido	
   estendido,	
  entendido	
  
12[:. ]45	
   12:45,	
  12.45,	
  12	
  45	
  
<[BIP]>	
   <B>,	
  <I>,	
  <P>	
  
–  Dentro	
  da	
  lista	
  todos	
  são	
  caracteres	
  normais.	
  Neste	
  caso,	
  o	
  
ponto	
  é	
  considerado	
  como	
  o	
  caractere	
  ponto	
  comum,	
  não	
  como	
  
o	
  metacaractere	
  ponto.	
  
8	
  
Expressões	
  Regulares	
  
•  Metacaracteres	
  Lpo	
  representante	
  (conLnuação...):	
  
– Uma	
  lista	
  também	
  aceita	
  intervalos.	
  Exemplos:	
  
[0-9]	
  equivale	
  a	
  [0123456789] 
[a-z]	
  equivale	
  a	
  [abcdefghijklmnopqrstuvwxyz] 
[A-Z]	
  equivale	
  a	
  [ABCDEFGHIJKLMNOPQRSTUVWXYZ] 
[3-8]	
  equivale	
  a	
  [345678] 
[d-h]	
  equivale	
  a	
  [defgh] 
[A-Za-z0-9]	
  equivale	
  a	
  letras	
  maiúsculas,	
  minúsculas	
  ou	
  
números;	
  
9	
  
Expressões	
  Regulares	
  
•  Metacaracteres	
  Lpo	
  representante	
  (conLnuação...):	
  
– Quando	
  precisamos	
  uLlizar	
  o	
  caractere	
  traço	
  em	
  uma	
  lista,	
  
ele	
  deve	
  estar	
  no	
  final	
  da	
  lista.	
  Assim	
  o	
  padrão	
  [a-­‐g-­‐]	
  casa	
  
com	
  as	
  letras	
  de	
  a	
  até	
  g	
  e	
  com	
  o	
  traço;	
  
– Os	
  colchetes	
  também	
  devem	
  receber	
  atenção	
  especial.	
  
Para	
  representar	
  o	
  colchete	
  que	
  abre	
  não	
  há	
  problema,	
  ele	
  
pode	
  aparecer	
  em	
  qualquer	
  posição	
  da	
  lista,	
  porém	
  o	
  
colchete	
  que	
  fecha	
  deve	
  ser	
  obrigatoriamente	
  o	
  primeiro	
  
item	
  da	
  lista,	
  caso	
  exista:	
  
•  Por	
  exemplo,	
  a	
  lista	
  [][-]	
  casa	
  com	
  ],	
  [,	
  ou	
  -.	
  
10	
  
Expressões	
  Regulares	
  
•  Metacaracteres	
  Lpo	
  quanLficador:	
  
–  Indicam	
  o	
  número	
  de	
  repeLções	
  permiLdas	
  para	
  a	
  
enLdade	
  imediatamente	
  anterior;	
  
?	
  (opcional)	
   -­‐	
  indica	
  que	
  a	
  enLdade	
  anterior	
  pode	
  
ocorrer	
  0	
  ou	
  1	
  vez;	
  
– Exemplos	
  (expressões	
  e	
  cadeias	
  que	
  casam	
  com	
  o	
  padrão):	
  	
  
casas?	
   casa,	
  casas;	
  
fala[r!]?	
   falar,	
  fala!,	
  fala;	
  
</?[BIPbip]>	
   </B>,	
  </I>,	
  </P>,	
  </b>,	
  </i>,	
  </p>,	
  <B>,	
  
<I>,	
  <P>,	
  <b>,	
  <i>,	
  <p>;	
  
11	
  
Expressões	
  Regulares	
  
•  Metacaracteres	
  Lpo	
  quanLficador	
  (conLnuação...):	
  
*	
  indica	
  que	
  a	
  enLdade	
  anterior	
  pode	
  aparecer	
  quantas	
  
vezes	
  for	
  necessário	
  (0,	
  1	
  ou	
  mais);	
  
– Exemplos	
  (expressões	
  e	
  cadeias	
  que	
  casam	
  com	
  o	
  padrão):	
  	
  
3*4	
   4,	
  34,	
  334,	
  3334,	
  33334,	
  333334,	
  ...,	
  333333334,	
  ...	
  
bi*p	
   bp,	
  bip,	
  biip,	
  biiip,	
  ...,	
  biiiiiiiiiiiiip,	
  ...	
  
b[ip]*	
   b,	
  bi,	
  bp,	
  bip,	
  bpipippp,	
  bipiiippi,	
  ...	
  
– A	
  expressão	
  .*	
  representa	
  qualquer	
  caractere	
  em	
  
qualquer	
  quanLdade;	
  
12	
  
Expressões	
  Regulares	
  
•  Metacaracteres	
  Lpo	
  quanLficador	
  (conLnuação...):	
  
+	
  tem	
  funcionamento	
  parecido	
  com	
  o	
  *,	
  porém	
  ele	
  obriga	
  
que	
  o	
  caractere	
  apareça	
  pelo	
  menos	
  uma	
  vez;	
  
– Exemplos	
  (expressões	
  e	
  cadeias	
  que	
  casam	
  com	
  o	
  padrão):	
  	
  
3+4	
   34,	
  334,	
  3334,	
  33334,	
  333334,	
  ...,	
  3333333334,	
  ...	
  
bi+p	
   bip,	
  biip,	
  biiip,	
  ...,	
  biiiiiiiiiiiiip,	
  ...	
  
b[ip]+	
   bi,	
  bp,	
  bip,	
  bpipippp,	
  bipiiippi,	
  ...	
  
13	
  
Expressões	
  Regulares•  Metacaracteres	
  Lpo	
  quanLficador	
  (conLnuação...):	
  
{n,m}	
  significa	
  repeLr	
  a	
  enLdade	
  anterior	
  um	
  mínimo	
  de	
  n	
  
e	
  um	
  máximo	
  de	
  m	
  vezes.	
  
– Exemplos	
  (expressões	
  e	
  cadeias	
  que	
  casam	
  com	
  o	
  padrão):	
  	
  
3{1,3}4	
   34,	
  334,	
  3334;	
  
bi{2,5}p	
   biip,	
  biiip,	
  biiiip,	
  biiiiip;	
  
no{4}ta	
   noooota;	
  
fu{3,}i	
   fuuui,	
  fuuuui,	
  fuuuuui,	
  fuuuuuui,	
  ...;	
  
14	
  
Exercícios	
  
•  Escrever	
  expressões	
  regulares	
  para	
  casar	
  com:	
  
1.  A	
  palavra	
  “frase”	
  no	
  singular	
  e	
  no	
  plural;	
  
2.  A	
  palavra	
  “letra”	
  podendo	
  conter	
  qualquer	
  combinação	
  
de	
  letras	
  maiúsculas	
  e	
  minúsculas;	
  
3.  Números	
  inteiros;	
  
4.  Hora	
  de	
  00:00	
  a	
  23:59;	
  
15	
  
Exercícios	
  –	
  Aula	
  23	
  
•  Respostas:	
  
1.  A	
  palavra	
  “frase”	
  no	
  singular	
  e	
  no	
  plural;	
  
frases?	
  
2.  A	
  palavra	
  “letra”	
  podendo	
  conter	
  qualquer	
  combinação	
  
de	
  letras	
  maiúsculas	
  e	
  minúsculas;	
  
[lL][eE][tT][rR][aA]	
  
3.  Números	
  inteiros;	
  
\-?[0-9]+	
  
4.  Hora	
  de	
  00:00	
  a	
  23:59;	
  
[0-2][0-9]:[0-5][0-9]	
  
16

Outros materiais