Forked from reindert-vetter/MyParcelConsignmentRepository.php
Last active
December 21, 2017 13:45
-
-
Save RichardPerdaan/1e6ce1588f3990e856b55255572692d1 to your computer and use it in GitHub Desktop.
Split street regex description
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Regular expression used to split street name from house number. | |
* | |
* Street (key street) | |
* (?P<street>.*?) | |
* | |
* An Street and house number is sometimes separated by a whitespace | |
* \s? | |
* | |
* Insert number and extension together in one array | |
* (?P<street_suffix> | |
* | |
* Set number (int) | |
* (?P<number>[\d]+) | |
* | |
* Sometimes an extension begins with a dash or a space | |
* [\s-]{0,2} | |
* | |
* Set key for extension | |
* (?P<extension> | |
* | |
* If extension have text, / or whitespace | |
* [a-zA-Z/\s]{0,5}$ | |
* | |
* OR(!) extension has a number | |
* |[0-9/]{0,5}$ | |
* | |
* OR(!) extension has a letter followed by numbers | |
* |\s[a-zA-Z]{1}[0-9]{0,3}$ | |
* | |
* OR(!) extension has a numbers followed by letter | |
* |\s[0-9]{2}[a-zA-Z]{0,3}$ | |
* | |
* Close key for extension | |
* ) | |
* | |
* Close number and extension together | |
* ) | |
* | |
*/ | |
const SPLIT_STREET_REGEX = '~(?P<street>.*?)\s?(?P<street_suffix>(?P<number>[\d]+)-?(?P<number_suffix>[a-zA-Z/\s]{0,5}$|[0-9/]{0,5}$|\s[a-zA-Z]{1}[0-9]{0,3}$))$~'; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment