Suchen und Ersetzen durch RegEx-Komponenten im Atom-Editor


129

Ich möchte dies suchen und ersetzen

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

zu

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

Mit vimwürde ich ein s/(http. *) {.uri}/[\1](\1)/gMachen, aber das funktioniert nicht mit atom.io. Wie kann ich das lösen?


3
Ich könnte auch gebrauchen vim. Ich würde gerne wissen, wie man das gegebene Problem mit löst atom.
Wintermeyer

Antworten:


214

Wenn Sie Cmd-F verwenden und den Suchbereich öffnen, befindet sich auf der rechten Seite eine Schaltfläche ". *". Klicken Sie darauf und jetzt ist es Regex-Modus.

ich finde

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

und ersetzen zu

[$1]($1)

4
s/(http.*){.uri}/[\1](\1)/gfunktioniert nicht atommit aktiviertem RegEx. Vielleicht ist es ein Fehler oder eine andere RegEx-Syntax. Das war der Grund meiner Frage.
Wintermeyer

19
Ich finde "(http. *) \ {\. Uri \}" und ersetze durch "[$ 1] ($ 1)". Es klappt. Dies ist der Regex im Perl-Stil, von dem ich glaube, dass er der Standard ist.
Speedogoo

1
@speedogoo Sie sollten dies als die richtige Antwort einreichen.
Methode

3
Irgendeine Idee, wie ich die erfasste Gruppe auswerten kann, um einige Dinge daran zu tun, bevor ich sie ersetze? Wenn zum Beispiel $1eine Zahlengruppe - 123 erfasst wird, ersetzen Sie sie, indem Sie 1 hinzufügen, so etwas wie eval($1+1)..?
SexyBeast

6
Ok, ich habe nur vergessen, Klammern in der Regex zu verwenden. Ignoriere einfach, was ich gesagt habe.
Antoine

19

Juste aktualisiert die Antwort von @ speedogoo für zukünftige Leser. Wenn Sie den Regex-Modus in der Suchansicht nicht finden, sieht er folgendermaßen aus:

Geben Sie hier die Bildbeschreibung ein

Sie können es auch mit der Verknüpfung Ctrl+ Alt+ / (Standard) öffnen .


Beachten Sie, dass sogar ^und $ bereits von Atoms Suchen und Ersetzen unterstützt werden.


1
Wollen Sie damit sagen, dass Group Replace nicht mit Atom funktioniert, wodurch die akzeptierte Antwort falsch wird (und mein Tag mit Atom ruiniert wird)?
Dan Rosenstark

3
Ich glaube, er meinte, dass Anker für Linienanfang ^und Linienende $nicht unterstützt werden. Das Ersetzen von Gruppen wird unterstützt.
SadullahCeran

3
Es funktioniert in neueren Versionen, das verknüpfte Github-Problem wurde geschlossen.
Frank Lee
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.