Editor de texto capaz de executar expressões regulares complexas?

10

Quero encontrar um editor de texto capaz de executar e principalmente armazenar expressões regulares para reutilização posterior. Também deve ser capaz de executá-los em vários arquivos.

Eu sei que posso conseguir tudo isso com grep, mas não há muito para reutilizá-lo. Consegui obter alguma funcionalidade de expressão regular no Gedit com plugins, mas não muito perto das minhas necessidades.

Existe o EditPad Pro para Windows (funciona com vinho), mas o nativo é sempre melhor :)

Mashimom
fonte

Respostas:

18

Os dois editores clássicos do Unix de código aberto são o GNU emacs e (g) Vim e ambos funcionam bem no Ubuntu. Ambos têm mais recursos do que você pode aprender ao longo da vida, incluindo o que procura. Existem muitos outros dois também, mas é melhor começar com o melhor. (Tentarei não entrar em qual delas é melhor, já que já é uma guerra santa épica.)

A propósito, sed é provavelmente uma alternativa melhor que grep para manipulações RegEx a partir da linha de comando, e você pode escrever e salvar scripts para ele. (É claro que você também pode usar perl, awk e python para reg ex.)

Alguma inspiração de xkcd: http://imgs.xkcd.com/comics/real_programmers.png

frabjous
fonte
2
Eu odeio ser esse cara, mas 'também', não 'dois'.
TJ L
D'oh! Desculpe pelo erro de digitação. Não se preocupe. Eu geralmente sou esse cara. Eu quis mencionar que, se você quiser ficar com o gEdit, poderá instalar seu bom plugin External Tools e usá-lo para executar scripts sed no buffer.
frabjous
@ tj111 - Nunca peça desculpas por ser detalhista. Em nossa linha de trabalho, seria preocupante se você NÃO considerasse importante. :-)
Scott Smith
15

Geany tem um bom conjunto de achados:

geany encontrar

substituir:

substituir geany

e pesquisa de arquivos:

geany grep

recursos. Ele não possui nenhuma capacidade embutida de salvar expressões regulares para mais tarde, embora você sempre possa armazená-las em um arquivo de texto.

Ele possui histórico para localizar / substituir, mas isso é limitado a uma sessão.

dv3500ea
fonte
1
Muito mais fácil de usar apenas Geany quando você precisa de um editor GUI rápido com apoio regex, ao invés de ter que cavar através das páginas de internet e homem de aprender a sintaxe para expressões regulares no vi (m)
Alex Marshall
6

Se você deseja executar regex em vários arquivos, acho que é hora de você aprender sedeawk

maco
fonte
Você pode salvar e editar os scripts em um arquivo com sedou awktambém.
pbhj
2

Você pode usar uma combinação do GEdit e o plug-in Advanced find / replace plugin for geditque pode ser encontrado em http://code.google.com/p/advanced-find/ .

A partir de 2012, possui o recurso de marcar uma expressão para que você possa reutilizá-la. Também pode procurar e substituir arquivos abertos, arquivos em uma pasta (com filtro) ou dentro de uma seleção de texto.

Sobre como instalar, você pode seguir as instruções em sua página wiki http://code.google.com/p/advanced-find/wiki/Installation .

Basicamente, o que você deve fazer é:

  1. Faça o download da versão correta para o seu gedit em http://code.google.com/p/advanced-find/downloads/list .

  2. Descompacte-o.

  3. Execute o install.sh (sem o sudo).

  4. Vá para preferências / plug-in e ative-o.

Captura de tela da caixa de diálogo Localização / Substituição Avançada aberta

PhoneixS
fonte
1

Queria adicionar um comentário apontando para esta resposta , mas, como aparentemente não tenho reputação suficiente, vou duplicá-la aqui como resposta própria: RegExr é a melhor ferramenta que já usei para manipulação de texto usando expressões regulares. Ele até explica cada parte da regex para você!

É uma ferramenta online, mas há uma versão para desktop . Como usa o Adobe AIR, que foi descontinuado para Linux, você pode precisar instalá-lo seguindo estas excelentes instruções passo a passo . Depois disso, baixe o .airarquivo da página da área de trabalho do RexExr vinculada acima e você poderá abri-lo com o instalador do AIR. Depois edite!

valioso
fonte
1

Estou realmente surpreso que ninguém tenha mencionado 'medit' ... pesquisar / substituir tem uma caixa de seleção simples informando à medit que os critérios digitados são uma expressão de expressão regular ... podem ser tão simples ou complexos quanto você gosta ..

michaelg
fonte
Bem-vindo ao AskUbuntu. Seria mais útil se você pudesse elaborar a resposta com exemplos e / ou capturas de tela.
Sri
0

Atom tem essa função. Faça o download e instale o pacote "deb".

Pressione CTRL+ Fe clique no .*botão para entrar no modo regex.

Como alternativa, você pode pressionar CTRL+ ALT+/

Também no github.

Pergunta relacionada sobre como usar regex no atom.

Ou você pode usar cate sed.

Use sed -esimplesmente imprimir as alterações. Use sed -ipara editar o conteúdo do arquivo.

Veja aqui para mais informações.

Você também pode egrepusar expressões regulares com grep.

Se você apenas precisar encontrar funções de substituição, geditaceita expressões regulares se pressionar CTRL+ F.

Você também pode fazer expressões regulares no vim .

mchid
fonte
0

Eclipse é melhor, embora um pouco pesado para o efeito. Todas as descobertas estão disponíveis em um painel separado. (esqueleto) Você pode pular imediatamente para qualquer um deles.

elajmor
fonte