• Welcome to LusoRobótica - Robótica em Português.
 

Perl Regular Expression Syntax

Started by KammutierSpule, 01 de November de 2015, 10:31

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.



KammutierSpule

Eu ja tinha procurado tutorials, mas nao consigo perceber nada.
Consegues dar alguns exemplos simples?
Eu com essas tabelas nao consigo sequer procurar uma string

jm_araujo

#3
Este é um dos melhores sites: http://www.regular-expressions.info/characters.html
Quando tenho dúvidas costumo lá cair.

O segundo site que te enviei na mensagem anterior é excelente para aprenderes "hands-on", além de mostrar os resultados da pesquisa "realtime", também explica o que estás a procurar e os resultados. Olha com mais atenção para ele que vale a pena.

Não sou muito bom professor, é-me difícil dar exemplos. Dá-me um exemplo do que queres encontrar e eu tento encontrar uma solução e explicar o porquê de cada elemento.

KammutierSpule

uma coisa basica qualquer por exemplo uma palavra..?
Ou mais complexo qualquercoisa entre duas palavras, o equivalente a :
> ls nomeficheiro*.gz*

jm_araujo

Não foste ao site de testes :D nem leste o primeiro capitulo do tutorial que mandei.

Encontrar uma palavra é só... escrever a palavra. Se não meter carateres especiais o texto é interpretado de forma literal. Ou seja, para na frase "Isto é um exemplo de um teste", para encontrar "um" a regex é "/um/" :P

Não disseste onde as queres usar (linguagem/programa) e implementações variam um bocadinho, mas é
basicamente isso. Se queres encontrar todas as referências a "um" tens de meter a flag "global": "/um/g", mas há implementações que assumem por defeito (python por exemplo se usares findall). Se for um texto com várias linhas podes querer usar a flag m de multiline.

Não sejas sorna e vê o que te mandei que é material de qualidade :D

KammutierSpule

Ya nao li, porque neste momento ja nao preciso :) (desenrasquei-me de outra maneira)
Mas fica a referencia para quando voltar a precisar pois parece-me ser uma ferramenta poderosa pra alguns tipos de trabalhos, pois substitui os "scripts"

O sitio onde estava a usar era no editor Sublime Text Editor (para fazer find & replace), que dizem eles usar a syntax / mecanismo da lib Boost.

Obrigado pelas referencias! Volto ca quando precisar novamente

Njay

Programador que não sabe expressões regulares é praticamente um analfabeto :P :P :P ...  ;D