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.