Regular Expressions 101

Properties

0

Regular Expression
Python

r"
(?: # A name with spec OR just a name (?P<NAME_AND_SPEC> (?P<NAME_WITH_SPEC> # Example: De Kat in de Wijngaard # At the start of string, capture name by capitalisation (?:De;\s|Het;\s|Een;\s)? (?:[A-Z\']\w*)(?:\'?\s\w+)*? ) # end group NAME_WITH_SPEC \s (?P<NAME_SPEC> uithangend\sin\shet\sonderhuis|op\sde\shoek\suithangend| naast\sde\sdeur\suithangend|in\sde\sbalans\suithangend| uithangend\sen\sboven\sde\sdeur|naast\suithangend| uithangend\sof\sin\sde\sgevel|voor\suithangend|wederzijds\suithangend| uithangende|uithangend|uitangend|uithangt|utihangend|uihangend| uithangen|uihangt|op\seen\sstok\suitstekend|voor\suitstekend| uitstekend|uistekend|in\sde\sgevel\sof\sboven\sde\sdeur| in\sde\sgevel\svan\shet\sachterhuis|in\sde\sgevel\sgeschilderd| op\sde\sgevel\sgeschilderd|ertegenover\sin\sde\sgevel| naast\sde\sgang\sin\sde\sgevel|voor\sin\sde\sgevel| achter\sin\sde\sgevel|in\sde\sgevel\svan\shet\svoorste\shuis| onder\sin\sde\sgevel|boven\sin\sde\sgevel|in\sde\sgevel\suitgehouwen| uitgehouwen\sin\sde\sgevel|in\sde\sgevel\sgehouwen| op\sde\shoek\svan\sde\sgang\sin\sde\sgevel| in\sde\sgevel\svan\shet\sachterhuis|in\sde\szijgevel| boven\sde\strap\sin\sde\sgevel|ten\sdele\sin\sde\sgevel| in\sde\sgevel\sstaat|boven\sde\sdeur\sin\sde\sgevel|bovenin\sde\sgevel| in\sde\sgevel|inde\sgevel|in\sdfe\sgevel|bovenop\sde\sgevel|boven\sop\sde\sgevel| op\sde\sgevel|boven\sgevel|boven\sde\sgevel|voor\sde\sgevel\shangend| in\shet\sbord\svoor\sde\sgevel|voor\sde\sgevel\sgespijkerd| voor\sde\sgevel|voor\saan\sde\sgevel|in\sde\svoorgevel| in\sde\sachtergevel|boven\saan\sde\sgevel\s| aan\sde\sgevel\sgeschilderd|aan\sde\sgevel|voor\stegen\sde\sgevel| tegen\sde\sgevel\saangespijkerd|tegen\sde\sgevel| boven\sde\sdeur\sgeschilderd|boven\sde\sdeur\sgespijkerd| boven\sde\sdeur\suitgehouwen|boven\sde\sdeur\svan\sde\spoort| boven\sde\sdeur\shangend|in\shet\skalf\sboven\sde\sdeur| boven\sde\sonderdeur|boven\sin\sde\sdeur|in\sde\sdeur| boven\sde\sdeur\svan\sde\sgang|boven\sde\sdeur\sgeschreven| voor\sof\sboven\sde\sdeur|boven\sde\sdeur\sen\spoort|boven\sde\sdeur| boven\sdeur|op\sde\sdeur\sgeschilderd|op\sde\sdeur\sgeschreven| op\sde\sdeur|voor\sde\sdeur\svan\sde\sgang|voor\sde\sdeur\sgeschilderd| voor\sde\sdeur\ss|voor\sde\sdeur\s|aan\sde\sdeur| boven\sde\singang\svan\sde\sdeur|boven\sde\singang|bij\sde\singang| op\sde\spoort\svan\sde\sgang|voor\sde\spoort\sgeschilderd| voor\sde\spoort\svan\sde\sgang\sgeschilderd|voor\sde\spoort| boven\sde\svoorpoort|bij\sde\sdeur\sgeschilderd| bij\sde\sdeur\svan\sde\sgang|bij\sde\sdeur|ervoor\sgeschilderd| ervoor\sgeschreven|ervoor|met\seen\sbord\sop\sde\sluifel| voor\sop\sde\sluifel|op\sde\sluifel|in\sde\sluifel|aan\sde\sluifel| tegen\sde\sluifel|boven\sde\spui|boven\sde\sgangdeur| boven\sde\spoort\suitgehouwen|boven\sde\spoort\sof\sdeur| boven\sde\spoort|naast\sen\sop\sde\spoort\sgeschilderd|op\sde\spoort| voor\sde\sluifel|boven\sde\sluifel|uitgehouwen\sboven\sde\sgang| boven\sde\sgang|voor\sde\sgang\sgeschilderd|voor\sde\sgang| in\sde\sgang|op\sde\spakdeur\sgeschreven|op\sde\spakdeuren| op\sde\spakdeur|op\sde\sscheiding|erbovenop|erboven| uitgedrukt\sin\seen\sbrievendeur| in\shet\skalf\svan\sde\sdeur\sgesneden|in\shet\skalf| tegen\sde\spui\sgespijkerd|tegen\sde\spui|boven\sde\sstaat| voor\shet\shuis\sgespijkerd|voor\shet\shuis|op\sde\sstok| in\sde\spuibalk|in\sde\spui|op\sde\shoek\svan\sde\sgang| voor\sde\slooierij|op\shet\shuis|erop\sgeschilderd|erop| boven\sde\spost\svan\sde\sdeur|voor\shet\shek\sgeschilderd| tegen\sde\szijgevel|op\shet\szoldervenster| aan\shet\sdakvenster\sgeschilderd|voor\saan\sde\spoort|aan\sde\spoort| voor\seen\sdeel|tegen\shet\spakvenster\sgeschilderd|aan\selke\szijde| ertegen|aan\shet\spoortje|geschilderd|tegen\sde\sschutting| op\sde\sloods|in\shet\szolderraam|in\shet\szoldervenster|belend| uitgestoken|boven\shet\shuis|aan\selke\szijde|voor\sde\s\deur| voor\sde\sdeur\svan\sde\sgang ) # end group NAME_SPEC (?:;?\s)? )+? # end group NAME_AND_SPEC | # or # But if it starts with Huis, Erf etc. it is not a name (?!(?:Huis\sen\serf|Hui|Koetsh|Wagenh|Winkel|Stal|Tent|\w*buurt|Manege|Achtererf|Erf|Weiland| Werf|Ramen|Hoekerf|Schip|Obligatie|Koopmanshuis|Poort|Gang|Scheiding|Park|Gebouwd|Strook|Kavel| Laagte|\w*weer|\w*pad|Sint|Erven|Stuk|Opstal|Fortificatie\w*| Achterhuis|Obligatie|Dubbel|Achter\s(?:de|het)|Leeg|Ledig|Gebruik|Streek| \w*gebouw|\w*brief|\w*molen|\w*winkel|Bouwvallig|Sloot|Vrije\s\w*gang| Gedeelte|Spijker|Schans|Kamer|Rente|Warmoes|Graf|Molen|Grond|\w*\sen\serf| Raam|Houten|Timmerloods|Loods|Getimmer|Land|Woning|Korte|Een\sstuk\sland| Contract|Overeenkomst|Tuin|Plantage|Pakhuis|Kromme|Sloep| \w*veer|\w*raam|Afbraak|Snijding|Afgebrand|Gehoogd\w*|Helft\svan|\w*poort| Actie|(?:(?:Klein|Kleine|Een|Twee|Drie|Vier|Vijf|Zes|Zeven|Acht|Negen| Tien)\s)?\w*(?:hui(?:sjes|sen|zinge|zing|zen|js)|roeden|woning|voet| kampjes|opstallen|erven|erfjes)|\w*plaats|\w*straat|\w*gracht\w*poort| \w*werf|\w*sluis|\w*wal|\w*erij|\w*gang|\w*woning|\w*kerk|\w*tuin\b| \w*stalling|\w*stal|Eerste|Tweede|[A-HK-Z]{2})\w*\s?) (?P<NAME_NO_SPEC> # Only name, without the location of the name in house # Example: De Koe # At the start of string, capture name by capitalisation # and use this ugly positive negative lookaheads to filter names ending # in 'straat' 'steeg' etc. (?:(?:De|Het|Een|de|het|een);\s)?[A-Z\'][\w\s\']{2,30}\b ) # end group NAME_NO_SPEC ) # end name | # or (?P<LEGAL_TYPE> (?: (?: (?P<LEGAL> (?:(?:\d+\/\d+)|(?:\d+))(?:(?:\s(?:in|van)\s\d+)?|\spart)|dubbel ) # end group LEGAL \s)? (?:van\s)? (?P<TYPE> # Example: 1/2 (?: (?:\s(?:en|met)\s)? \b[a-z]*(?:(?:Stal|Huis|Huisje|Kavel|Opstal|Lijfrentebrief|Obligatie|Tent|Manege|Weiland|Scheiding|Hoekerf| Contract|Erf|Sloot|Sloep|Molen|huis|\w*huis|huisje|huisjes|hof|hoven|gang|schip| schuit|schuiten|stallen|stalling|stal|beplanting|schuur|getimmerte|erf|erij|erven|vallig| Ledig|herberg|priëlen|kolfbanen|lakenraam|molen|Woning|woning|woningen|oven|loods|loodsen|baan|keet|land|logement|schuttingen|\w*akerij|\w*winkel| rije\s\w*gang|sloep|aljoot|hok|veld|scheepje|schuit|kof|eiker| bligatie|wal|Snijding|fregat|wijd|Leeg\serf)\b|(?:(?:Huiz| huiz|tuin|\w*tuin|(?:(?:in\s)?de\s\w*\s*)gereedschappen)\w*)) )+ )+ # end group TYPE )+ )+ # end group LEGAL_TYPE | # or (?:,?\s)+? (?P<LOCATION> # Example: tussen Prinsengracht en Noordse Bos (?:(?:grenzend|op|in|aan|tussen|onder|WZ|tusen|recht|over|naast|achter|grenzend|bij|buiten| benoorden|bezuiden|bewesten|tegenover|beoosten|voorbij|schuin|park|hoek| ten\seinde|(?:het\s(?:eerste|tweede|derde|vierde|vijfde|zesde|zevende| achtste|negende|tiende))|(?:noord|oost|zuid|west)\w*)\s)+?(?:de|het)? [^\/]*?$ ) # end LOCATION
"
gmx

Description

no description available

Submitted by anonymous - 5 years ago