Cerca e sostituisci con i componenti RegEx nell'editor Atom


130

Voglio cercare e sostituire questo

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

per

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

Con vimfarei un s/(http. *) {.uri}/[\1](\1)/gMa non funziona atom.io. Come posso risolvere questo?


3
Potrei anche usare vim. Mi piacerebbe sapere come risolvere il problema dato atom.
Wintermeyer

Risposte:


215

Se fai Cmd-F e apri il riquadro di ricerca, c'è un pulsante ". *" Sul lato destro. Cliccalo e ora è la modalità regex.

io trovo

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

e sostituisci a

[$1]($1)

4
s/(http.*){.uri}/[\1](\1)/gnon funziona atomcon RegEx attivato. Forse è un bug o una sintassi RegEx diversa. Questa era la ragione della mia domanda.
Wintermeyer,

19
Trovo "(http. *) \ {\. Uri \}" e lo sostituisco a "[$ 1] ($ 1)". Funziona. Questa è la regex in stile perl, che credo sia lo standard.
speedogoo,

1
@speedogoo Dovresti inviarlo come risposta corretta.
metodo

3
Qualche idea su come posso valutare il gruppo catturato per fare qualcosa su di esso prima di sostituirlo? Ad esempio, se $1acquisisce un gruppo di numeri - 123, sostituirlo aggiungendo 1 ad esso, qualcosa come eval($1+1)..?
SexyBeast,

6
Ok, ho appena dimenticato di usare le parentesi nella regex. Ignora solo quello che ho detto.
Antoine,

19

Juste per aggiornare la risposta di @ speedogoo per i futuri lettori, se non trovi la modalità regex nella vista di ricerca, è simile alla seguente:

inserisci qui la descrizione dell'immagine

Puoi anche aprirlo con il collegamento Ctrl+ Alt+ / (predefinito) .


Si noti che anche ^e $ sono già supportati dalla ricerca e sostituzione di Atom.


1
Stai dicendo che Group Replace non funziona con Atom, rendendo in tal modo errata la risposta accettata (e rovinando la mia giornata con Atom)?
Dan Rosenstark,

3
Credo che intendesse dire che le ancore di inizio linea ^e fine linea $non sono supportate. La sostituzione del gruppo è supportata.
SadullahCeran

3
Funziona nelle versioni recenti, il problema github collegato è stato chiuso.
Frank Lee,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.