Regulární výraz pro adresu
Níže uvedený regulární výraz využijete, pokud chcete kontrolovat poštovní adresu, respektive zápis jména ulice následovaný čísem orientačním ev. číslem popisným a budete tedy za platný vstup považovat například Nám. 28. října 12/345, Pražská 12, U Plynárny 8c apod.
V tom případě můžete použít regulární výraz ^(.*[^0-9]+) (([1-9][0-9]*)/)?([1-9][0-9]*[a-cA-C]?)$. Tento regulární výraz sestává ze čtyř subvýrazů a tudíž, nejenže otestujete adresu, ale také získáte jednotlivé části (jméno ulice, čislo orientační ev. i číslo popisné, pokud jsou uvedena obě a oddělena lomítkem).
Uvedu dva příklady:
- Pokud je adresa Nám. 28. října 12/345, pak odpovídá
- 1. subvýrazu řetězec Nám. 28. října
- 2. subvýrazu řetězec 12/
- 3. subvýrazu řetězec 12
- 4. subvýrazu řetězec 345
- Pokud je adresa U Plynárny 8c, pak odpovídá
- 1. subvýrazu řetězec U Plynárny
- 2. subvýrazu prázdný řetězec
- 3. subvýrazu prázdný řetězec
- 4. subvýrazu řetězec 8c
Subvýrazy jsou číslovány vždy podle umístění otevírací (levé kulaté) závorky v regulárním výrazu. Detailnější popis a vysvětlení tohoto regulárního výrazu naleznete v článku Regulární výrazy v praxi - subvýrazy. Ačkoliv je článek věnován POSIX regulárním výrazům v PHP, uvedený výraz je shodný s Perl-compatible regulárním výrazem a funguje tedy v PHP (PCRE) i .NETu.