Pesquise e substitua pelos componentes RegEx no editor Atom


130

Quero pesquisar e substituir este

`https://example.com/`{.uri}

para

[https://example.com/](https://example.com/)

Com vimeu faria um s/(http. *), {.uri}/[\1](\1)/gMas isso não funciona atom.io. Como posso resolver isso?


3
Eu também poderia usar vim. Gostaria de saber como resolver o problema em questão atom.
Wintermeyer

Respostas:


215

Se você Cmd-F e abrir o painel de pesquisa, existe um botão ". *" No lado direito. Clique nele e agora é o modo regex.

eu acho

(http.*)\{\.uri\}

e substitua para

[$1]($1)

4
s/(http.*){.uri}/[\1](\1)/gnão funciona atomcom o RegEx ativado. Talvez seja um erro ou uma sintaxe diferente do RegEx. Essa foi a razão da minha pergunta.
Wintermeyer

19
Eu encontro "(http. *) \ {\. Uri \}" e substituo por "[$ 1] ($ 1)". Funciona. Este é o regex de estilo perl, que acredito ser o padrão.
speedogoo

1
@speedogoo Você deve enviar isso como a resposta correta.
método

3
Alguma idéia de como faço para avaliar o grupo capturado para fazer algumas coisas antes de substituir? Por exemplo, se $1capturar um grupo de números - 123, substitua-o adicionando 1 a ele, algo como eval($1+1)..?
SexyBeast 22/02

6
Ok, eu esqueci de usar parênteses no regex. Apenas ignore o que eu disse.
Antoine

19

Juste para atualizar a resposta do @ speedogoo para futuros leitores, se você não encontrar o modo regex na exibição de pesquisa, será semelhante a este:

insira a descrição da imagem aqui

Você também pode abri-lo com o atalho Ctrl+ Alt+ / (padrão) .


Observe que even ^e $ já são suportados pela localização e substituição do Atom.


1
Você está dizendo que o Group Replace não funciona com o Atom, tornando a resposta aceita incorreta (e arruinando meu dia com o Atom)?
Dan Rosenstark

3
Acredito que ele quis dizer que as âncoras de início ^e fim de linha $não são suportadas. A substituição do grupo é suportada.
precisa saber é o seguinte

3
Funciona em versões recentes, o problema do github vinculado foi encerrado.
Frank Lee
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.