Software para criar visualmente expressões regulares?

16

Eu freqüentemente preciso criar expressões regulares para uso em scripts (principalmente quando usado em sed ), no entanto, eu acho que, às vezes, as expressões regulares ficam muito complicadas e difíceis para eu entender e editar. Existe algum software que permita criar visualmente o código para expressões regulares, que eu possa copiar e colar em um script?

    
por Village 17.12.2011 / 04:35

7 respostas

9

Que tal Regexp visual ?

    
por 17.12.2011 / 07:08
5

Que tal kregexpeditor

    
por 17.12.2011 / 15:47
4

Teste txt2regex e veja se isso ajuda. Eu nunca usei isso seriamente, mas parecia legal quando eu tentei.

    
por 17.12.2011 / 04:54
3

Existem kodos se você preferir um aplicativo independente. Ultimamente tenho usado visualizadores de regex on-line como link ou link

    
por 30.10.2013 / 14:26
2

Não é exatamente o que o OP pede - mas eu acho que é relevante, então vou postar Recomendação para o editor da Regex? # 549107 - Pergunte ao Ubuntu :

Aqui está minha tentativa em uma ferramenta GUI visual regex, chamada visRegexTester.py :

Ele tem uma "visualização ao vivo" ("Execução automática") se você digitar e alterar o campo "regex". Caso contrário, é apenas esse arquivo único; há um comentário do README no início - aqui está um trecho dele:

visRegexTester is a small Python/Tkinter GUI application to assist with writing of regular expressions; tested with Python 2.7 and 3.2. In fact, it is merely an interface for other command line programs: it exploits the fact that a lot of Unix/GNU/Linux programs used as regex processors in the terminal (e.g. grep, sed, perl), have a similar command-line syntax in three parts:

(PROGRAM --ARGS) ('REGEX') (FILENAME)

... veja o resto para mais. A captura de tela:

    
por 13.11.2014 / 10:12
1

Sim, text2re.com deve estar perto do que você está procurando. Dado o texto de origem, você pode optar por gerar um regex que corresponda a qualquer um dos textos fornecidos. A ferramenta também gera código para um punhado de idiomas.

A interface do usuário do construtor regex (etapa 2 na página) é um pouco difícil de aprender; observe que passar o mouse sobre qualquer uma das opções explica o objeto com o qual você está correspondendo:

    
por 17.12.2011 / 09:33
0

Não sei ao certo o que você quer dizer com "crie visualmente o código" (você quer dizer uma ferramenta de GUI?). Se você é como eu, acho impossível trabalhar com expressões regulares complexas, a menos que eu as estruture de maneira estruturada, para que eu possa obter uma representação visual da lógica.

Realmente, sed é apenas uma linguagem de script e pode ser exibida como outras linguagens, por exemplo. com um comando por linha. Aqui está um exemplo típico do que quero dizer: Um regex sed mostrando o layout estruturado .

Um recurso muito útil de sed é seu comando debugging l , que é um simples dump de linha mostrando o espaço padrão com novas linhas incorporadas mostradas como \n , etc.

O problema com sed não é apenas as expressões regulares. Tem um conjunto enigmático de comandos para looping e teste de condição; isso leva tempo para se acostumar ... A melhor ferramenta que eu já encontrei para me ajudar a lidar com sed é bem simples: Eu leia o manual em detalhe . A partir disso, é apenas um processo de começar pequeno e fazer as coisas simples funcionarem; então construa coisas maiores para ganhar experiência ..

O regex Perl possui alguns recursos úteis para auxiliar no estabelecimento de padrões complexos; por exemplo. a capacidade de ignorar espaços em branco em sua expressão .. (Como um desafio, e para o fator expereince , eu escrevi um sed parser para analisar meu código sed para permitir tal espaço em branco ... PS Eu não preciso disso agora, por causa da experiência :) Na verdade, apenas colocar os comandos, um por linha, é quase tão bom quanto o recurso perl.

A melhor ferramenta para ajudá-lo é: experiência . por exemplo. Enfrentar as questões de regex neste site é uma ótima maneira de obter essa experiência ... Eu sinto que as ferramentas de GUI não ajudam muito, porque elas inibem a experiência ...

Em resumo, as melhores ferramentas auxiliares são experiência e layout estruturado , e leia o manual (em detalhes).

Eu usei a palavra "expereince" muito .. por 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 .. Ferramentas do tipo "Regex-Builder"; não escreva o regex para você; eles apenas testam, e certamente não lidam com a lógica do programa do sed , porque isso não é uma regex ... (e você especificamente destacou sed ) ... O destaque da sintaxe eles podem oferecer não faz muito para mim. Um editor com boa correspondência de colchetes é bem útil (eu uso o emacs).

    
por 17.12.2011 / 05:35