Não sei bem o que você quer dizer com "criar visualmente o código" (você quer dizer uma ferramenta da GUI?). Se você é como eu, acho impossível trabalhar com expressões regulares complexas, a menos que eu as descreva de maneira estruturada, para que eu possa ter uma melhor representação visual da lógica.
Realmente, sed
é apenas uma linguagem de script e pode ser apresentada como outras línguas, ie. com um comando por linha. Aqui está um exemplo típico do que quero dizer: Um regex sed mostrando layout estruturado .
Um recurso muito útil sed
é o seu comando de depuraçãol
, que é um simples despejo de linha que mostra o espaço do padrão com as novas linhas incorporadas mostradas como \n
, etc.
O problema com sed
não são apenas as expressões regulares. Possui um conjunto de comandos enigmáticos para testes de loop e condição; isso leva tempo para se acostumar ... A melhor ferramenta que eu já encontrei para me ajudar a lidar com isso sed
é simples: eu li o manual em detalhes .. A partir disso, é apenas um processo de começar pequeno e obter o coisas simples funcionando; então construa coisas maiores para ganhar experiência ..
O perl regex possui alguns recursos úteis para ajudar a criar padrões complexos; por exemplo. a capacidade de ignorar o espaço em branco em sua expressão .. (Como um desafio, e pelo fator experiência , escrevi um sed
analisador para analisar meu sed
código para permitir esse espaço em branco ... PS: Não preciso disso agora; por causa da experiência :) Na verdade, apenas definir comandos, um por linha, é quase tão bom quanto o recurso perl.
A melhor ferramenta para ajudá-lo é: experiência . por exemplo. Lidar com as perguntas regulares sobre regex neste site é uma ótima maneira de obter essa experiência ... Sinto que as ferramentas da GUI não ajudam muito, porque inibem a experiência ...
Em resumo, as melhores ferramentas auxiliares são a experiência e o layout estruturado , e leia o manual (em detalhes).
Eu usei muito a palavra "expereince". Com isso, quero dizer que o ato de preparar expressões regulares (e no caso de sed
qualquer lógica de loop etc.) é o fator-chave. Tipo "Regex-Builder" Ferramentas; não escreva o regex para você; eles apenas testam e certamente não lidam com a lógica do programa sed , porque isso não é um regex .. (e você destacou especificamente sed
) ... O destaque de sintaxe que eles podem oferecer não faz muito para mim . Um editor com boa correspondência de colchetes é bastante útil (eu uso o emacs) ..