Autor Tópico: [Resolvido]Expressões regulares, uma dúvida.  (Lida 1206 vezes)

Offline Klausterfullbya

  • Usuário Ubuntu
  • *
  • Mensagens: 8
    • Ver perfil
[Resolvido]Expressões regulares, uma dúvida.
« Online: 12 de Fevereiro de 2011, 22:36 »
Olá pessoal,

estou estudando expressões regulares no Linux, e estou com dúvida.

Ao ter um arquivo chamado "teste.txt" com o seguinte conteúdo:
Citar
Ms
M
Msso

Ao fazer o comando: cat teste.txt | grep ^M.*
Aparece o "M" incluso. Isto não era para acontecer, eu acho, pois o "M" foi dito como um padrão, e uma letra qualquer depois dele (através do "ponto").  De certa forma parece que o asterísco nesta situação "regride" uma "casa". É estranho.

Ao realizar o comando dessa forma: cat teste.txt | grep ^M.
Funciona sem problemas. Encontrando de fato o "Ms" e o "Msso".

Outra questão também é que eu estava tentando capturar padrões com início em uma letra, e final com outra. Por exemplo:
Quero achar a palavra "música". Então farei assim:
cat teste.txt | grep ^m
Porém, queria saber como "juntar" com o término da palavra também..Algo do tipo:
cat teste.txt | grep ^m && ca$
(Do tipo, encontre um padrão que comece com "m" e termine com "ca").
Entenderam? rs

Agradeço desde já, e parabéns pelo fórum! =)
« Última modificação: 13 de Fevereiro de 2011, 01:19 por Klausterfullbya »
Imagine aqui uma mulher gata só com uma camisa do Linux numa cama! =D

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re: Expressões regulares, uma dúvida.
« Resposta #1 Online: 12 de Fevereiro de 2011, 23:18 »
1-Sim o asterisco faz diferença, recomendo um livro de er: http://guia-er.sourceforge.net/asterisco.html

2- echo -e "b\nbola\nbolo\nbota\nbla\nboola" | grep ^b.\*la$ - começa com "b", qualquer quantidade de caracteres (inclusive nenhum) e terminado em "la".
echo -e "b\nbola\nbolo\nbota\nbla\nboola" | grep ^b.la$ - começa com "b", um caractere qualquer e terminado com "la".

Offline Klausterfullbya

  • Usuário Ubuntu
  • *
  • Mensagens: 8
    • Ver perfil
Re: Expressões regulares, uma dúvida.
« Resposta #2 Online: 13 de Fevereiro de 2011, 01:18 »
irtigor,

muito obrigado pelo link! Me ajudou MUITO!
=)
Abraços!
Imagine aqui uma mulher gata só com uma camisa do Linux numa cama! =D