Regular Expressions 101

Save & Share

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8

Function

  • Match
  • Substitution
  • List
  • Unit Tests
"
(?: # 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
1st Alternative
(?: # 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
Non-capturing group
(?: # 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 )
1st Alternative
# 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
# A name with spec OR just a name
A name with spec OR just a name
Comment: A name with spec OR just a name
Named Capture Group NAME_AND_SPEC
(?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)? )+?
+? matches the previous token between one and unlimited times, as few times as possible, expanding as needed (lazy)
A repeated capturing group will only capture the last iteration. Put a capturing group around the repeated group to capture all iterations or use a non-capturing group instead if you're not interested in the data
Named Capture Group NAME_WITH_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+)*? )
# Example: De Kat in de Wijngaard
Example: De Kat in de Wijngaard
Comment: Example: De Kat in de Wijngaard
# At the start of string, capture name by capitalisation
At the start of string, capture name by capitalisation
Comment: At the start of string, capture name by capitalisation
Non-capturing group
(?:De;\s|Het;\s|Een;\s)?
? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)
1st Alternative
De;\s
De;
matches the characters De; literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
2nd Alternative
Het;\s
Het;
matches the characters Het; literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
3rd Alternative
Een;\s
Een;
matches the characters Een; literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
Non-capturing group
(?:[A-Z\']\w*)
Match a single character present in the list below
[A-Z\']
A-Z matches a single character in the range between A (index 65) and Z (index 90) (case sensitive)
\' matches the character ' with index 3910 (2716 or 478) literally (case sensitive)
\w
matches any word character (equivalent to [a-zA-Z0-9_])
* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
Non-capturing group
(?:\'?\s\w+)*?
*? matches the previous token between zero and unlimited times, as few times as possible, expanding as needed (lazy)
\'
matches the character ' with index 3910 (2716 or 478) literally (case sensitive)
? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
\w
matches any word character (equivalent to [a-zA-Z0-9_])
+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)
# end group NAME_WITH_SPEC
end group NAME_WITH_SPEC
Comment: end group NAME_WITH_SPEC
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
Named Capture Group NAME_SPEC
(?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 )
1st Alternative
uithangend\sin\shet\sonderhuis
uithangend
matches the characters uithangend literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
in
matches the characters in literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
het
matches the characters het literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
onderhuis
matches the characters onderhuis literally (case sensitive)
2nd Alternative
op\sde\shoek\suithangend
op
matches the characters op literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
de
matches the characters de literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
hoek
matches the characters hoek literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
uithangend
matches the characters uithangend literally (case sensitive)
3rd Alternative
naast\sde\sdeur\suithangend
naast
matches the characters naast literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
de
matches the characters de literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
deur
matches the characters deur literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
uithangend
matches the characters uithangend literally (case sensitive)
4th Alternative
in\sde\sbalans\suithangend
in
matches the characters in literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
de
matches the characters de literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
balans
matches the characters balans literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
uithangend
matches the characters uithangend literally (case sensitive)
5th Alternative
uithangend\sen\sboven\sde\sdeur
uithangend
matches the characters uithangend literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
en
matches the characters en literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
boven
matches the characters boven literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
de
matches the characters de literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
deur
matches the characters deur literally (case sensitive)
6th Alternative
naast\suithangend
naast
matches the characters naast literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
uithangend
matches the characters uithangend literally (case sensitive)
7th Alternative
uithangend\sof\sin\sde\sgevel
uithangend
matches the characters uithangend literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
of
matches the characters of literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
in
matches the characters in literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
de
matches the characters de literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
gevel
matches the characters gevel literally (case sensitive)
8th Alternative
voor\suithangend
voor
matches the characters voor literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
uithangend
matches the characters uithangend literally (case sensitive)
9th Alternative
wederzijds\suithangend
10th Alternative
uithangende
11th Alternative
uithangend
12th Alternative
uitangend
13th Alternative
uithangt
14th Alternative
utihangend
15th Alternative
uihangend
16th Alternative
uithangen
17th Alternative
uihangt
18th Alternative
op\seen\sstok\suitstekend
19th Alternative
voor\suitstekend
20th Alternative
uitstekend
21st Alternative
uistekend
22nd Alternative
in\sde\sgevel\sof\sboven\sde\sdeur
23rd Alternative
in\sde\sgevel\svan\shet\sachterhuis
24th Alternative
in\sde\sgevel\sgeschilderd
25th Alternative
op\sde\sgevel\sgeschilderd
26th Alternative
ertegenover\sin\sde\sgevel
27th Alternative
naast\sde\sgang\sin\sde\sgevel
28th Alternative
voor\sin\sde\sgevel
29th Alternative
achter\sin\sde\sgevel
30th Alternative
in\sde\sgevel\svan\shet\svoorste\shuis
31st Alternative
onder\sin\sde\sgevel
32nd Alternative
boven\sin\sde\sgevel
33rd Alternative
in\sde\sgevel\suitgehouwen
34th Alternative
uitgehouwen\sin\sde\sgevel
35th Alternative
in\sde\sgevel\sgehouwen
36th Alternative
op\sde\shoek\svan\sde\sgang\sin\sde\sgevel
37th Alternative
in\sde\sgevel\svan\shet\sachterhuis
38th Alternative
in\sde\szijgevel
39th Alternative
boven\sde\strap\sin\sde\sgevel
40th Alternative
ten\sdele\sin\sde\sgevel
41st Alternative
in\sde\sgevel\sstaat
42nd Alternative
boven\sde\sdeur\sin\sde\sgevel
43rd Alternative
bovenin\sde\sgevel
44th Alternative
in\sde\sgevel
45th Alternative
inde\sgevel
46th Alternative
in\sdfe\sgevel
47th Alternative
bovenop\sde\sgevel
48th Alternative
boven\sop\sde\sgevel
49th Alternative
op\sde\sgevel
50th Alternative
boven\sgevel
51st Alternative
boven\sde\sgevel
52nd Alternative
voor\sde\sgevel\shangend
53rd Alternative
in\shet\sbord\svoor\sde\sgevel
54th Alternative
voor\sde\sgevel\sgespijkerd
55th Alternative
voor\sde\sgevel
56th Alternative
voor\saan\sde\sgevel
57th Alternative
in\sde\svoorgevel
58th Alternative
in\sde\sachtergevel
59th Alternative
boven\saan\sde\sgevel\s
60th Alternative
aan\sde\sgevel\sgeschilderd
61st Alternative
aan\sde\sgevel
62nd Alternative
voor\stegen\sde\sgevel
63rd Alternative
tegen\sde\sgevel\saangespijkerd
64th Alternative
tegen\sde\sgevel
65th Alternative
boven\sde\sdeur\sgeschilderd
66th Alternative
boven\sde\sdeur\sgespijkerd
67th Alternative
boven\sde\sdeur\suitgehouwen
68th Alternative
boven\sde\sdeur\svan\sde\spoort
69th Alternative
boven\sde\sdeur\shangend
70th Alternative
in\shet\skalf\sboven\sde\sdeur
71st Alternative
boven\sde\sonderdeur
72nd Alternative
boven\sin\sde\sdeur
73rd Alternative
in\sde\sdeur
74th Alternative
boven\sde\sdeur\svan\sde\sgang
75th Alternative
boven\sde\sdeur\sgeschreven
76th Alternative
voor\sof\sboven\sde\sdeur
77th Alternative
boven\sde\sdeur\sen\spoort
78th Alternative
boven\sde\sdeur
79th Alternative
boven\sdeur
80th Alternative
op\sde\sdeur\sgeschilderd
81st Alternative
op\sde\sdeur\sgeschreven
82nd Alternative
op\sde\sdeur
83rd Alternative
voor\sde\sdeur\svan\sde\sgang
84th Alternative
voor\sde\sdeur\sgeschilderd
85th Alternative
voor\sde\sdeur\ss
86th Alternative
voor\sde\sdeur\s
87th Alternative
aan\sde\sdeur
88th Alternative
boven\sde\singang\svan\sde\sdeur
89th Alternative
boven\sde\singang
90th Alternative
bij\sde\singang
91st Alternative
op\sde\spoort\svan\sde\sgang
92nd Alternative
voor\sde\spoort\sgeschilderd
93rd Alternative
voor\sde\spoort\svan\sde\sgang\sgeschilderd
94th Alternative
voor\sde\spoort
95th Alternative
boven\sde\svoorpoort
96th Alternative
bij\sde\sdeur\sgeschilderd
97th Alternative
bij\sde\sdeur\svan\sde\sgang
98th Alternative
bij\sde\sdeur
99th Alternative
ervoor\sgeschilderd
100th Alternative
ervoor\sgeschreven
101st Alternative
ervoor
102nd Alternative
met\seen\sbord\sop\sde\sluifel
103rd Alternative
voor\sop\sde\sluifel
104th Alternative
op\sde\sluifel
105th Alternative
in\sde\sluifel
106th Alternative
aan\sde\sluifel
107th Alternative
tegen\sde\sluifel
108th Alternative
boven\sde\spui
109th Alternative
boven\sde\sgangdeur
110th Alternative
boven\sde\spoort\suitgehouwen
111th Alternative
boven\sde\spoort\sof\sdeur
112th Alternative
boven\sde\spoort
113th Alternative
naast\sen\sop\sde\spoort\sgeschilderd
114th Alternative
op\sde\spoort
115th Alternative
voor\sde\sluifel
116th Alternative
boven\sde\sluifel
117th Alternative
uitgehouwen\sboven\sde\sgang
118th Alternative
boven\sde\sgang
119th Alternative
voor\sde\sgang\sgeschilderd
120th Alternative
voor\sde\sgang
121st Alternative
in\sde\sgang
122nd Alternative
op\sde\spakdeur\sgeschreven
123rd Alternative
op\sde\spakdeuren
124th Alternative
op\sde\spakdeur
125th Alternative
op\sde\sscheiding
126th Alternative
erbovenop
127th Alternative
erboven
128th Alternative
uitgedrukt\sin\seen\sbrievendeur
129th Alternative
in\shet\skalf\svan\sde\sdeur\sgesneden
130th Alternative
in\shet\skalf
131st Alternative
tegen\sde\spui\sgespijkerd
132nd Alternative
tegen\sde\spui
133rd Alternative
boven\sde\sstaat
134th Alternative
voor\shet\shuis\sgespijkerd
135th Alternative
voor\shet\shuis
136th Alternative
op\sde\sstok
137th Alternative
in\sde\spuibalk
138th Alternative
in\sde\spui
139th Alternative
op\sde\shoek\svan\sde\sgang
140th Alternative
voor\sde\slooierij
141st Alternative
op\shet\shuis
142nd Alternative
erop\sgeschilderd
143rd Alternative
erop
144th Alternative
boven\sde\spost\svan\sde\sdeur
145th Alternative
voor\shet\shek\sgeschilderd
146th Alternative
tegen\sde\szijgevel
147th Alternative
op\shet\szoldervenster
148th Alternative
aan\shet\sdakvenster\sgeschilderd
149th Alternative
voor\saan\sde\spoort
150th Alternative
aan\sde\spoort
151st Alternative
voor\seen\sdeel
152nd Alternative
tegen\shet\spakvenster\sgeschilderd
153rd Alternative
aan\selke\szijde
154th Alternative
ertegen
155th Alternative
aan\shet\spoortje
156th Alternative
geschilderd
157th Alternative
tegen\sde\sschutting
158th Alternative
op\sde\sloods
159th Alternative
in\shet\szolderraam
160th Alternative
in\shet\szoldervenster
161st Alternative
belend
162nd Alternative
uitgestoken
163rd Alternative
boven\shet\shuis
164th Alternative
aan\selke\szijde
165th Alternative
voor\sde\s\deur
166th Alternative
voor\sde\sdeur\svan\sde\sgang
# end group NAME_SPEC
end group NAME_SPEC
Comment: end group NAME_SPEC
Non-capturing group
(?:;?\s)?
? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)
;
matches the character ; with index 5910 (3B16 or 738) literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
# end group NAME_AND_SPEC
end group NAME_AND_SPEC
Comment: end group NAME_AND_SPEC
2nd Alternative
# 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
# or
or
Comment: or
# But if it starts with Huis, Erf etc. it is not a name
But if it starts with Huis, Erf etc. it is not a name
Comment: But if it starts with Huis, Erf etc. it is not a name
Negative Lookahead
(?!(?: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?)
Assert that the Regex below does not match
Non-capturing group
(?: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})
1st Alternative
Huis\sen\serf
Huis
matches the characters Huis literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
en
matches the characters en literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
erf
matches the characters erf literally (case sensitive)
2nd Alternative
Hui
Hui
matches the characters Hui literally (case sensitive)
3rd Alternative
Koetsh
Koetsh
matches the characters Koetsh literally (case sensitive)
4th Alternative
Wagenh
Wagenh
matches the characters Wagenh literally (case sensitive)
5th Alternative
Winkel
Winkel
matches the characters Winkel literally (case sensitive)
6th Alternative
Stal
Stal
matches the characters Stal literally (case sensitive)
7th Alternative
Tent
Tent
matches the characters Tent literally (case sensitive)
8th Alternative
\w*buurt
\w
matches any word character (equivalent to [a-zA-Z0-9_])
* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
buurt
matches the characters buurt literally (case sensitive)
9th Alternative
Manege
10th Alternative
Achtererf
11th Alternative
Erf
12th Alternative
Weiland
13th Alternative
Werf
14th Alternative
Ramen
15th Alternative
Hoekerf
16th Alternative
Schip
17th Alternative
Obligatie
18th Alternative
Koopmanshuis
19th Alternative
Poort
20th Alternative
Gang
21st Alternative
Scheiding
22nd Alternative
Park
23rd Alternative
Gebouwd
24th Alternative
Strook
25th Alternative
Kavel
26th Alternative
Laagte
27th Alternative
\w*weer
28th Alternative
\w*pad
29th Alternative
Sint
30th Alternative
Erven
31st Alternative
Stuk
32nd Alternative
Opstal
33rd Alternative
Fortificatie\w*
34th Alternative
Achterhuis
35th Alternative
Obligatie
36th Alternative
Dubbel
37th Alternative
Achter\s(?:de|het)
38th Alternative
Leeg
39th Alternative
Ledig
40th Alternative
Gebruik
41st Alternative
Streek
42nd Alternative
\w*gebouw
43rd Alternative
\w*brief
44th Alternative
\w*molen
45th Alternative
\w*winkel
46th Alternative
Bouwvallig
47th Alternative
Sloot
48th Alternative
Vrije\s\w*gang
49th Alternative
Gedeelte
50th Alternative
Spijker
51st Alternative
Schans
52nd Alternative
Kamer
53rd Alternative
Rente
54th Alternative
Warmoes
55th Alternative
Graf
56th Alternative
Molen
57th Alternative
Grond
58th Alternative
\w*\sen\serf
59th Alternative
Raam
60th Alternative
Houten
61st Alternative
Timmerloods
62nd Alternative
Loods
63rd Alternative
Getimmer
64th Alternative
Land
65th Alternative
Woning
66th Alternative
Korte
67th Alternative
Een\sstuk\sland
68th Alternative
Contract
69th Alternative
Overeenkomst
70th Alternative
Tuin
71st Alternative
Plantage
72nd Alternative
Pakhuis
73rd Alternative
Kromme
74th Alternative
Sloep
75th Alternative
\w*veer
76th Alternative
\w*raam
77th Alternative
Afbraak
78th Alternative
Snijding
79th Alternative
Afgebrand
80th Alternative
Gehoogd\w*
81st Alternative
Helft\svan
82nd Alternative
\w*poort
83rd Alternative
Actie
84th Alternative
(?:(?: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)
85th Alternative
\w*plaats
86th Alternative
\w*straat
87th Alternative
\w*gracht\w*poort
88th Alternative
\w*werf
89th Alternative
\w*sluis
90th Alternative
\w*wal
91st Alternative
\w*erij
92nd Alternative
\w*gang
93rd Alternative
\w*woning
94th Alternative
\w*kerk
95th Alternative
\w*tuin\b
96th Alternative
\w*stalling
97th Alternative
\w*stal
98th Alternative
Eerste
99th Alternative
Tweede
100th Alternative
[A-HK-Z]{2}
\w
matches any word character (equivalent to [a-zA-Z0-9_])
* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
\s
matches any whitespace character (equivalent to [\r\n\t\f\v  ])
? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)
Named Capture Group NAME_NO_SPEC
(?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 )
# Only name, without the location of the name in house
Only name, without the location of the name in house
Comment: Only name, without the location of the name in house
# Example: De Koe
Example: De Koe
Comment: Example: De Koe
# At the start of string, capture name by capitalisation
At the start of string, capture name by capitalisation
Comment: At the start of string, capture name by capitalisation
# and use this ugly positive negative lookaheads to filter names ending
and use this ugly positive negative lookaheads to filter names ending
Comment: and use this ugly positive negative lookaheads to filter names ending
# in 'straat' 'steeg' etc.
in 'straat' 'steeg' etc.
Comment: in 'straat' 'steeg' etc.
Non-capturing group
(?:(?:De|Het|Een|de|het|een);\s)?
? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)
Non-capturing group
(?:De|Het|Een|de|het|een)
1st Alternative
De
De
matches the characters De literally (case sensitive)
2nd Alternative
Het
Het
matches the characters Het literally (case sensitive)
3rd Alternative
Een
4th Alternative
de
5th Alternative
het
6th Alternative
een
; matches the character ; with index 5910 (3B16 or 738) literally (case sensitive)
\s matches any whitespace character (equivalent to [\r\n\t\f\v  ])
Match a single character present in the list below
[A-Z\']
A-Z matches a single character in the range between A (index 65) and Z (index 90) (case sensitive)
\' matches the character ' with index 3910 (2716 or 478) literally (case sensitive)
Match a single character present in the list below
[\w\s\']
\b assert position at a word boundary: (^\w|\w$|\W\w|\w\W)
# end group NAME_NO_SPEC
end group NAME_NO_SPEC
Comment: end group NAME_NO_SPEC
# end name
end name
Comment: end name
2nd Alternative
# 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
or
Comment: or
Named Capture Group LEGAL_TYPE
(?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 )+ )+
+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)
A repeated capturing group will only capture the last iteration. Put a capturing group around the repeated group to capture all iterations or use a non-capturing group instead if you're not interested in the data
Non-capturing group
(?: (?: (?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 )+
+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)
Non-capturing group
(?: (?P<LEGAL> (?:(?:\d+\/\d+)|(?:\d+))(?:(?:\s(?:in|van)\s\d+)?|\spart)|dubbel