Buscar y reemplazar con componentes RegEx en el editor Atom

130

Quiero buscar y reemplazar esto

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

a

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

Con vimHaría un s/(http. *) {.uri}/[\1](\1)/gPero eso no funciona atom.io. ¿Como puedo resolver esto?

Wintermeyer
fuente
3
Yo también podría usar vim. Me gustaría saber cómo resolver el problema dado con atom.
wintermeyer

Respuestas:

215

Si utiliza Cmd-F y abre el panel de búsqueda, hay un botón ". *" En el lado derecho. Haz clic y ahora es modo regex.

Encuentro

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

y reemplazar a

[$1]($1)
speedogoo
fuente
44
s/(http.*){.uri}/[\1](\1)/gno funciona atomcon RegEx activado. Tal vez sea un error o una sintaxis RegEx diferente. Esa fue la razón de mi pregunta.
wintermeyer
19
Encuentro "(http. *) \ {\. Uri \}" y lo reemplazo por "[$ 1] ($ 1)". Funciona. Esta es la expresión regular de estilo perl, que creo que es el estándar.
speedogoo
1
@speedogoo Debe enviar esto como la respuesta correcta.
método del
3
¿Alguna idea de cómo evalúo el grupo capturado para hacer algunas cosas antes de reemplazarlo? Por ejemplo, si $1captura un grupo de números - 123, reemplácelo agregando 1, algo así como eval($1+1)...?
SexyBeast
66
Ok, me olvidé de usar paréntesis en la expresión regular. Solo ignora lo que dije.
Antoine
19

Juste de actualización @ respuesta de speedogoo para los lectores futuros, si usted no encuentra el modo de expresión regular en la vista de búsqueda, que se ve así:

ingrese la descripción de la imagen aquí

También puede abrirlo con el acceso directo Ctrl+ Alt+ / (predeterminado) .


Tenga en cuenta que incluso ^y $ ya son compatibles con buscar y reemplazar de Atom.

Mistalis
fuente
1
¿Estás diciendo que Group Replace no funciona con Atom, por lo que la respuesta aceptada es incorrecta (y arruina mi día con Atom)?
Dan Rosenstark
3
Creo que quiso decir que los anclajes de inicio de línea ^y fin de línea $no son compatibles. Reemplazo de grupo es compatible.
SadullahCeran
3
Funciona en versiones recientes, el problema de github vinculado ha sido cerrado.
Frank Lee