Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyrażenie regularne
Forum PHP.pl > Forum > PHP
di@blo
Mam takie wyrażenie '/^([a-z]*)/i' ktore filtruje wszystko oprocz liter ale chcialbym jeszcze bardziej ograniczyc aby maksymalnie moglo wystepowac 6 cyfr probowalem tak: '/^([a-z]{0-6})/i' niestety nie dziala sad.gif i gdzie wrzucic przecinek aby mi go nie odrzucalo podczas filtrowania? '/^([a-z\,]*)/i' ? i Jak sie ma do tego spacja czy bedzie filtrowalo czy musze dodac do wyrazenia? jesli tak to co?
Z gory dzieki za pomoc
kampio
nie do końca zrozumiałem ale
wydaje mi się że przedziały podajemy tak: {0,6}
a samo wyrażenie poszukiwania co najmniej 6 liczb to chyba tak:

'/^[0-9]{1,6}$/'
di@blo
Niby masz racje ale wyrazenie '/^[a-z\_]{1,6}$/' mi nie dziala
Mam tak '/^([a-z\_]*)/' i wystarczy ze pozbede sie nawiasu okraglego jak w twoim przykladzie lub zamienie * na {0-6} i juz nie dziala sad.gif
kampio
'/^[a-z_]{1,6}$/' a tak?
wookieb
/^[^a-z_]{1,6}$/i

Pamietaj ze to wyrazenie bierze pod uwage WSZYSTKO co nie jest podkreśleniem, litera. Ale białe znaki itd przepuści.
di@blo
Tak dziala i skrypt przepuszcza tylko znaki i podkreślenie:

'/^([a-z_]{1,6})$/i'

Dodalem nawias okragły, mam jeszcze ptanie czy przed znakami takimi jak podkreślenie, przecinek musze dawac \ ? czy przepusci spacje? I pytanie zasadnicze czemu
{1,6} a nie {1-6}?
wookieb
Cytat(di@blo @ 6.09.2008, 14:07:24 ) *
{1,6} a nie {1-6}?

bo nie {1-6}... Na najgłupsze pytanie najgłupsza odpowiedź...

Musisz dawac \ przed znakami ktore sa specjalnie interpretowane przez regexa czyli np przed "." jeżeli chcesz zeby oczywiscie szukało kropki. No przecież powiedzialem, że przepuści wszystkie białe znaki.
wyrazenie twoje przepuszcza wszystko oprocz malych liter i _
di@blo
Moze i glupia odpowiedz ale gdzies znalazlem mini kurs i bylo {0-6} widocznie blad

A co do białych znakow to nie przepuszcza '/^([0-9]{7,15})/s' dopiero jak zmienilem na '/^([0-9 ]{7,15})/s' to dziala
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.