Heim  >  Fragen und Antworten  >  Hauptteil

Python-Textabgleich für bestimmte Absätze

a='''
[Szene: Central Perk, Chandler, Joey, Phoebe und Monica sind da.]
Monica: Es gibt nichts zu sagen, er ist nur ein Typ, mit dem ich arbeite!
Joey: Komm schon, Du gehst mit dem Kerl aus!
Chandler: Alles klar, Joey, sei nett.? Hat er also einen Buckel und ein Haarteil?
Phoebe: Moment, frisst er Kreide ?
[Szene: Chandler, Joey, abcsde.]
Phoebe: Nur weil ich nicht möchte, dass sie das durchmacht, was ich mit Carl durchgemacht habe- oh!
Monica: Okay, entspannt euch alle Nicht einmal ein Date. Es geht nur darum, dass zwei Leute zum Abendessen ausgehen und keinen Sex haben
Ich habe einen Text a, wie oben gezeigt,
Ich möchte den Dialogtext jeder Szene abrufen und ihn als lsit speichern. Der Unterschied zwischen jeder Szene ist [Szene: Fügen Sie einen englischen Satz hinzu.], wie oben fett dargestellt Verwenden Sie dann reguläre Ausdrücke in der Formel paragraphs = re.findall('[Scene: w+.](.*?)[Scene: w+.]',a,re.S)

Ich habe festgestellt, dass kein Inhalt gefunden wurde und die Absätze leer waren.

Was ist der Grund für den Fehler? Wie wird der Dialoginhalt jeder Szene abgeglichen?
Vielen Dank.

PHP中文网PHP中文网2687 Tage vor677

Antworte allen(1)Ich werde antworten

  • 滿天的星座

    滿天的星座2017-05-18 10:59:26

    错误有几点
    没有使用原生字符串
    没有转义[

    以下是我修改后的代码。

    paragraphs = re.findall(r"\[Scene: [\w\s,]+\.]\s([^[]+)\s(?=\[Scene: [\w\s,]+\.])", a, re.S)
    

    python正则表达式指南
    http://www.cnblogs.com/huxi/a...

    Antwort
    0
  • StornierenAntwort