Reguläre Ausdrücke zum Extrahieren von Text in geschweiften Klammern [geschlossen]Python

Python-Programme
Anonymous
 Reguläre Ausdrücke zum Extrahieren von Text in geschweiften Klammern [geschlossen]

Post by Anonymous »

Ich arbeite mit markiertem Text und muss Informationen extrahieren, um sie später verwenden zu können. Ich möchte mithilfe des Moduls re reguläre Ausdrücke aus Python verwenden, kann aber nicht den richtigen Ausdruck konstruieren. Ich habe zwei Situationen:
  • Text im Format string="{some text}{other text 1}{other text 2}". Hier verwende ich den regulären Ausdruck „\\{(.*?)\\}“, erhalte aber

    Code: Select all

    >> string="{some text}{other text 1}{other text 2}"
    >> elements = re.split("\\{(.*?)\\}",string)
    >> print(elements)
    >> ['', 'some text', '', 'other text 1', '', 'other text 2', '']
    
    Ich kann nicht verstehen, warum die leeren Zeichenfolgen an den Positionen 0, 2, 4 und 6 erscheinen. Wenn ich meine ursprüngliche Zeichenfolge in string="}{some text}{other text 1}{other text 2}{" bearbeite und den regulären Ausdruck "\\}\\{(.*?)\\}\\{" verwende, erhalte ich

    Code: Select all

    >> string="}{some text}{other text 1}{other text 2}{"
    >> elements = re.split("\\}\\{(.*?)\\}\\{",string)
    >> print(elements)
    >> ['', 'some text', 'other text 1', 'other text 2', '']
    
    Die internen leeren Zeichenfolgen in der Ausgabe verschwinden, nicht jedoch die ersten und letzten. Wie muss ich den regulären Ausdruck konstruieren, um nur die Elemente in Klammern zu erhalten?
  • Text im Format string="some text {other text}". In diesem Fall muss ich „etwas Text“ und auch „anderen Text“ extrahieren. Hier weiß ich nicht, wie ich vorgehen soll.
Kann mir bitte jemand helfen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post