Ferramenta Regex para Linux

7

O Windows possui uma ferramenta maravilhosa que trabalha com expressões regulares - RegexBuddy . Tem dois problemas:

  1. É comercial.
  2. É executado no Windows (versão Linux não está mais disponível).

Quais ferramentas (exceto grep) você usa trabalhando com expressões regulares no Linux?

Pawka
fonte
11
o que você precisa para fazer isso grep não?
31411 Jeremy French
4
Ele está procurando uma ferramenta que possa ajudar a depurar expressões regulares.
ConcernedOfTunbridgeWells

Respostas:

7

Veja minha resposta para Como você escreve e testa suas expressões regulares? no StackOverflow.

Não use o Regex Buddy, nem qualquer ferramenta similar.

Gaste um pouco de tempo aprendendo como as expressões regulares funcionam.

Eles são realmente muito mais simples do que as pessoas pensam.

Peter Boughton
fonte
2
Sim: eu dou o mesmo conselho sobre o software para verificar a ortografia. Apenas diga não. Aprenda.
Telemachus
Hmm, eu tenho menos certeza sobre ortografia - há um grande número de palavras, idiomas e esquisitices gramaticais para confundir as pessoas. Expressões regulares são incrivelmente simples em comparação com qualquer idioma humano / falado.
22413 Peter Boughton
2
Ferramentas como o Regex Buddy não escrevem expressões regulares para você, portanto o usuário ainda precisa aprender. Mas ajuda a escrevê-las, especialmente quando as expressões se tornam bastante grandes.
Pawka 16/07/2009
@ Peter: Eu admito que a ortografia pode ser mais difícil (para algumas pessoas, alguns tipos de alunos). Ainda assim, aprenda. De qualquer forma, o software oferece uma falsa sensação de segurança. O software não pode soletrar bem.
Telemachus
11
Mesmo se você não precisar de ajuda, ainda pode ser útil. Conheço expressões regulares muito bem, mas ainda gosto de usar um editor gráfico quando tenho um disponível.
18760 David Z
7

Eu uso Kiki , é simples, mas faz o trabalho.

Escrito em Python e há um pacote ubuntu chamado kiki.

insira a descrição da imagem aqui

Ludwig Weinzierl
fonte
2

O MonoDevelop inclui uma poderosa ferramenta Regex. Ele inclui uma biblioteca de Regexes enviados pelo usuário e um testador Regex.

O validador de regex é System.Text.RegularExpressions.Regex.

Dykam
fonte
11
Eu apenas tentei - é legal. Mas não executarei outro IDE apenas para regexps enquanto não estiver desenvolvendo o Mono.
Pawka 16/07/2009
Verdade. Sorte minha, eu sou um desenvolvedor de C # ... oh espere ... você pode fazer outras linguagens, não relacionadas à dotNet no MonoDevelop. C e C ++ são muito bem suportados. Mais por vir. (Ruby, Delphi, etc).
Dykam 16/07/2009
2

RegexBuddy é relatado para executar perfeitamente no Wine .

Robert Munteanu
fonte
Sr. Downvote, gostaria de explicar?
Robert Munteanu
11
Sim, mas ainda é comercial.
Pawka 16/07/2009
1

Redet parece ser o que você está procurando.

calafrios42
fonte
1

Não é software, mas site - Rubular

raspi
fonte
1

Há um complemento para o Firefox que eu acho útil para minhas necessidades não onerosas.

Evan
fonte
0

Vim. Encontra e destaca dinamicamente a primeira correspondência para a expressão regular enquanto você a digita.

Eu também uso isso no Windows, na verdade, pelo mesmo motivo.

Zac Thompson
fonte
11
Você pode achar que as regexs do vim não são totalmente padrão. Em particular, estou pensando no + no qual você deve inverter a barra invertida para funcionar como um "um ou mais" pares, onde, erradamente, expressões regulares regulares a barra invertida escaparia.
Evan
O ponto de Evan está correto. O Q não especifica qual é o objetivo pretendido da expressão regular. Acho muito fácil pegar uma regex que funcione para mim no Vim e aplicá-la em outras situações. Sempre parece haver variações nos detalhes de escape e outros detalhes de sintaxe entre as implementações de regex.
Zac Thompson
0

Normalmente, não uso nenhuma ferramenta para isso, mas vale a pena mencionar o kregexpeditor. Possui todos os recursos que você esperaria e a próxima versão suportará até referências posteriores.

Kim
fonte
0

O único bom regexp é um lex / yacc regexp. Passe algum tempo aprendendo lex / flex e yacc / bison , ou algum kit de ferramentas parser similar . Estou convencido de que esse é o caminho a seguir, se você quiser fazer um bom trabalho com regexps!

Se você insistir em usar regexps feios 'normais', poderá fazer pior que o perl para testá-los:

perl -pe 's/fo+o/bar/'
perl -ne 'print $1 if /(hell*o|world)/i/'
</etc/passwd perl -ne 'print if /bash|tcsh/'

Você também pode tentar o GNU grep com cores e regexps estendidos:

</etc/passwd grep --color -E 'bash|tcsh'
Sam Watkins
fonte