Python regex – Ersetzen Sie einfache Anführungszeichen und Klammern

Ich würde gerne Mengen mit Namen dann eine eckige Klammer und ein einziges Zitat mit dem Inhalt im Inneren ersetzen. Also, von diesem:

RSQ(name['BAKD DK'], name['A DKJ'])

Dazu:

RSQ(BAKD DK, A DKJ)

  • Finde Regex zum Löschen von Duplikaten
  • Groß-und Kleinschreibung Python regelmäßiger Ausdruck ohne re.compile
  • Regelmäßiger Ausdruck, um jedes Zeichen genau genau zweimal zu entsprechen
  • Python: Regex findall gibt eine Liste zurück, warum versucht man, auf das Listenelement zuzugreifen [0] einen Fehler zurückgeben?
  • Konvertieren von String-Tupeln zu dict
  • Regulärer Ausdruck, um "entkommene" Zeichen mit ihren Originalen zu ersetzen
  • Python Regex für Bindestriche
  • In vs reguläre Ausdrücke mit Liste der Wörter
  • 2 Solutions collect form web for “Python regex – Ersetzen Sie einfache Anführungszeichen und Klammern”

    Code –

     import re s = "RSQ(name['BAKD DK'], name['A DKJ'])" expr = r"[\'\[\]]|\bname\b" print(re.sub(expr, '', s)) 

    Ausgabe –

     RSQ(BAKD DK, A DKJ) 

    Sie können auch die Spartruppen verwenden, um Strings aus dem name['something'] zu extrahieren name['something'] :

     >>> import re >>> s = "RSQ(name['BAKD DK'], name['A DKJ'])" >>> re.sub(r"name\['(.*?)'\]", r"\1", s) 'RSQ(BAKD DK, A DKJ)' 

    Wo (.*?) Ist eine Erfassungsgruppe , die irgendwelche Zeichen beliebig oft in einer nicht gierigen Weise übereinstimmen würde. \1 verweist auf die erfasste Gruppe in einem Ersatzstring.

    Python ist die beste Programmiersprache der Welt.