RegEx Frage

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

halweg
Posts: 93
Joined: 17 Apr 2018, 10:34
Location: Dresden

RegEx Frage

Post by halweg » 09 Jun 2023, 09:19

Ich weiß nun nicht, wie viele RegEx Profis hier mitlesen, aber ehe ich meine Frage eindeutig auf Englisch formuliere, will ich es hier wenigstens kurz versuchen.
Ich will in einem Textfile alle Zeilen mit so was

;=== <Überschrift> ==============================================

durch so was

;=== <Überschrift> -----------------------------------------------------------------

ersetzen. Dabei kann <Überschrift> beliebige Zeichen enthalten und die Strichfolge am Ende ist unterschiedlich lang (mind. 4 Striche, es sollen genauso viele wie da sind bleiben).
Einfach = durch - ersetzen geht nicht, da das vorn erhalten bleiben muss und diese Zeichen auch im sonstigen Text vorkommen können. Es geht also darum. ein bestimmtes Zeichen nur dann zu ersetzen, wenn es ab 4x am Stück vorkommt, egal ob 5x, 7x usw.

Überfordere ich hier die regulären Ausdrücke oder steh ich auf dem Schlauch?

Viele Grüße, Halweg

PS: Ich suche kein AHK-Skript sondern einen regulären Ausdruck für die Suchen-Ersetzen-Funktion im Editor (PSPad).

BigBrainAFK
Posts: 6
Joined: 20 May 2023, 15:29
Contact:

Re: RegEx Frage

Post by BigBrainAFK » 09 Jun 2023, 10:23

Ich schlag vor einfach sowas wie `m)^(;===\s.*\s)(={4,})$` zu nehmen. (Dieser genaue RegEx funktioniert nur wenn das die gesamte Zeile ist ohne vorlaufende Leerzeichen/Tabs und folgende Leerzeichen/Tabs)

Danach kannst du die gesamte Zeile neu zusammen basteln mit `$1` um den ersten nicht ersetzten Teil zu bekommen und hinten dran `$2` nach einem kurzem ersetzen aller `=` durch `-`.

RegEx im test editor: https://regex101.com/r/iGqgbf/1

EDIT: Eben erst gelesen das es um einen Texteditor geht. Das wird nichts mit `-` genauso viele wie gefundene `=` am ende da die (so weit ich erlesen bin) nicht mit reinem RegEx machbar ist.

halweg
Posts: 93
Joined: 17 Apr 2018, 10:34
Location: Dresden

Re: RegEx Frage

Post by halweg » 10 Jun 2023, 09:52

Danke trotzdem fürs Mitdenken. Es ist schon erstaunlich, dass so rel. einfache Mehrfachersetzungen mit RegEx nicht funktionieren.

Post Reply

Return to “Ich brauche Hilfe”