Duvidas Expressões regulares [RESOLVIDO]

1. Duvidas Expressões regulares [RESOLVIDO]

Rondineli
rondineli.araujo

(usa Fedora)

Enviado em 01/05/2012 - 00:38h

Boa noite Galera!

Enfim, sou novo por aqui e sou novo também em Shwll, regexp e queria tirar uma duvida, estou devorando um dos livros do aurélio e do Julio C. neves para conseguir em algum tempo mais pra frente chegar perto de conhecer Shell. O que ocorre é que fiquei com uma duvida e gostaria de ajuda.

Pelo que li, uma ER que inicia com o ^, ele irá proucurar com palavras que iniciem. ex: ^[abc], ele irá proucurar palavras que iniciem com abc. Dentro das chaves ele irá negar: ex: [^0-9] ele irá casar tudo menos numeros. No caso do + ele irá aplicar no outro o que vale pra um, ex: 6+0 pode ser 60,660,6660 e etc..Em uma expressão que peguei recentemente, após proucurar algumas strings:
/([dD]ados|[cC]ategoria) aparecem estes argumentos: [^ ]+ [^ ]+, neste caso o que está ocorrendo? Ele esta negando e repetindo? Está proucurando valores repetidos?
Gostaria de uma ajuda, e perodem-me minha ignorância no assunto, pois iniciei o foco neste assunto hoje...hehe

Obrigado.


  


3. Re: Duvidas Expressões regulares [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 01/05/2012 - 19:37h

poste a dúvida com calma

veja

echo 'Categoria' | egrep '[^cC]+'

ele casa o que não inicia com c ou C e depois casa qualquer coisa em qualquer quantidade, sendo que deve existir, por isso foi usado o +, quando não é necessário a existência, usa-se o *


4. Sim

Rondineli
rondineli.araujo

(usa Fedora)

Enviado em 02/05/2012 - 10:09h

Ok, mas vamos lá, neste caso...
^[cC]ategoria[^ ]+ [^ ]+

neste caso ele Casa o que for categoria...dispensa os espaços e o que vier em seguida ele casa tudo?


5. Re: Duvidas Expressões regulares [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 02/05/2012 - 10:27h

rondineli.araujo escreveu:

Ok, mas vamos lá, neste caso...
^[cC]ategoria[^ ]+ [^ ]+

neste caso ele Casa o que for categoria...dispensa os espaços e o que vier em seguida ele casa tudo?


Nesse caso ele casaria

categoriax x
Categoriax x

Onde o x x é qualquer coisa (menos espaço em branco) com um espaço em branco entre eles, por exemplo

Categoriax x

teste com:

echo 'categoriax x' | egrep '^[cC]ategoria[^ ]+ [^ ]+'

Note que vai da certo, agora

echo 'categoriaxx' | egrep '^[cC]ategoria[^ ]+ [^ ]+'

Já não da certo, porque faltou o espaço em branco entre [^ ]+ [^ ]





6. Ótimo

Rondineli
rondineli.araujo

(usa Fedora)

Enviado em 02/05/2012 - 12:31h

Entendi!

Meio complexo neah? rsrs

Mas aos poucos estou digerindo!

Obrigado!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts