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?


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.


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



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.


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






1

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



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.


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.


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'
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.