Home > other >  What is the correct pattern for python findall function?
What is the correct pattern for python findall function?

Time:10-04

Let's assume the we have the following text:

Aufstellung des Bebauungsplanes KLM-BP-025-2 „Neue   Hakeburg“, hier: Änderung des Aufstellungsbeschlusses vom 
13.12.2012 (DS-Nr. 164/12) – DS-Nr. 007/16/2 Der Beschluss DS-Nr. 164/12 vom 13.12.2012 zur Aufstellung  des Bebauungsplanes KLM-BP-025-2 „Neue Hakeburg“ wird ge- ändert. Der Bürgermeister wird beaufragt, für den in Anlage 1  abgegrenzten Geltungsbereich einen Bebauungsplan-Entwurf  erarbeiten zu lassen, mit dem die folgenden Punkte umgesetzt  werden: 1) Die zulässige Nutzungsart soll von „Sondergebiet 3 Hotel“  geändert werden

I would like to get all strings, that start with Bebauungsplan and end with '“'?

My attempt:

temps = re.findall(r'Bebauungsplan[\S\n ] “', text, re.MULTILINE)

CodePudding user response:

Use

temps = re.findall(r'Bebauungsplan[^“] “', text)

See regex proof.

EXPLANATION

--------------------------------------------------------------------------------
  Bebauungsplan            'Bebauungsplan'
--------------------------------------------------------------------------------
  [^“]                     any character except: '“' (1 or more times
                           (matching the most amount possible))
--------------------------------------------------------------------------------
  “                        '“'
  • Related