Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyrażenie regulane - korekta
Forum PHP.pl > Forum > Przedszkole
Tai
Witam. Mam mały problem z wyrażeniem regularnym.
Na chwilę obecną wygląda ono tak
  1. '/[0-9]{1,}[\/]*[0-9a-dA-D\s]*/'


Wyrażenie ma za zadanie wyłuskac numer posesji/domu z ciagu nazwa_ulicy numer_posesji/mieszkania

Wzorzec sprawdza się dla
20/7 20/12 itd
20
15a 15A itd
ale juz np. dla
5a/9 lub 6a/12 niestety nie - zwraca jedynie 5a i 6a
Z góry dziękuję za pomoc.
greycoffey
  1. '/[1-9][0-9a-d]*[\/]?[1-9]?[0-9]*/i'

Powinno działać. Przy okazji nie będzie przechodziło coś w stylu 0/0, 05/12, 6/18a czy 5/0 lub 8/08.
Weles
Wg. mnie:
Kod
'/\[0-9]{1,}[\/]*[0-9a-dA-D\s]/'

lub:
Kod
'/\[0-9]{1,}[\/]*[0-9a-dA-D\s\]/'
Tai
Cytat(greycoffey @ 2.06.2012, 13:51:27 ) *
  1. '/[1-9][0-9a-d]*[\/]?[1-9]?[0-9]*/i'

Powinno działać. Przy okazji nie będzie przechodziło coś w stylu 0/0, 05/12, 6/18a czy 5/0 lub 8/08.


Dzięki działa idealnie. Chociaz zdazylem zmodyfikowac swoje do

  1. '/[\s]{1,}[0-9]{1,}[0-9a-dA-D\s]*[\/]*[0-9a-dA-D\s]*/'


i tez dziala. Dodatkowo dalem spacje na poczatku, poniewaz mam ulice typu 22 Lipca lub 23 Stycznia i luskalo 22 i 23 :-) Jako, ze w bazie mam nazwe ulice bez spacji na poczatku totez dodanie \s zalatwilo problem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.