lksfltn

Multiline suche in notepad++ mit hilfe von regular expressions

Hallo Leute,

ich muss in einem XML-Dokument nach allen überschriften suchen.
Leider bekomme ich den Suchstring nicht erstellt.
Kann mir bitte jemand weiterhelfen, der sich mit regex auskennt?

ausschnitt meines Codes:

<w:pPr>
<w:pStyle w:val="CETberschrift2"/>
<w:ind w:left="576" w:hanging="576"/>
</w:pPr>
<w:bookmarkStart w:id="135" w:name="_Toc445556323"/>
<w:bookmarkStart w:id="136" w:name="_Toc447694562"/>
<w:bookmarkStart w:id="137" w:name="_Toc321555678"/>
<w:r w:rsidRPr="007A6A4C">
<w:t>Antenna gain</w:t>
</w:r>
<w:bookmarkEnd w:id="135"/>
<w:bookmarkEnd w:id="136"/>
<w:bookmarkEnd w:id="137"/>

Was bei jeder Überschrift vorkommt ist:

<w:ind w:left="576" w:hanging="576"/>

Meine Idee war also folgendermaßen zu suchen:

Zeilenanfang mit "<w:ind w:left="576" w:hanging="576"/>" bis erste Zeile, die mit "</w:t>" endet

Ich bekomm das ganze einfach nicht mit regex zusammengebaut...

Hoffe jemand hat das ganze voll drauf und kann mir aushelfen.

Danke!
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 301277

Url: https://administrator.de/forum/multiline-suche-in-notepad-mit-hilfe-von-regular-expressions-301277.html

Ausgedruckt am: 08.06.2025 um 12:06 Uhr

114757
114757 08.04.2016 aktualisiert um 14:29:15 Uhr
Goto Top
Moin,
frage ist doch was "könnte davon" variabel sein?
Variante 1 mit Submatch
<w:pStyle w:val="([^"]*)"/>\s*^<w:ind w:left="\d+" w:hanging="\d+"/>\s^</w:pPr>
Den Match findest du im ersten Submatch siehe runde Klammern.

Variante 2 mit Positive Lockbehind und Lookahead ohne Submatch
(?<=<w:pStyle w:val=")[^"]*(?="/>\s*^<w:ind w:left="\d+" w:hanging="\d+"/>\s^</w:pPr>)

Aktive Optionen für den Regex-Match sind für die obigen Pattern sind: CaseInsensitive, Multiline, DotMatchesNewLine (i,m,s)

Warum benutzt du keinen XML-Parser zum auslesen?

Gruß jodel32
lksfltn
lksfltn 08.04.2016 um 14:35:53 Uhr
Goto Top
erstmal danke für deine antwort.
ich will eigentlich nur alle bereiche in dem dokument durch lesezeichen markieren, die mit "<w:ind w:left="576" w:hanging="576"/>"
beginnen und mit dem ersten folgenden "</w:t>" aufhören.
114757
114757 08.04.2016 aktualisiert um 15:08:36 Uhr
Goto Top
Na dann reicht ein
<w:ind w:left="576" w:hanging="576"/>.*?</w:t>  
Mit modifierOption DotMatchesNewline aktiv (s)