![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 2 Dołączył: 24.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
Mam pewniem maly roblem z wyrazeniem regularnym. Doszedlem do pewnego etapu ale pewna rzecz nie dziala jak bym chcial. Zalozenia:
1) Ciag ma sie skladac ze znakow nie innych niz [\da-z.-] 2) Na poczatku i na koncu nie moze byc kropki ani minusa, 3) dwie kropki nie moga wystepowac kolo siebie, 4) minus i kropka nie moga wystepowac kolo siebie. Napisalem cos takiego: Kod #^[\da-z]([.-]?[\da-z])*$# ... dziala prawie dobrze, ale niestety zablokowalem mozliwosc dwoch minusow kolo siebie. Jak to rozwiazac? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Kod cojack@cojack-laptop:~$ php -r '$a = ".-ab..cefgh-."; if(preg_match("/^(?:[.-])|([.]{1})|(\d)|(?:[.-])$/",$a)) echo "blad\n"; else echo "ok\n";' blad cojack@cojack-laptop:~$ php -r '$a = "-ab..cefgh."; if(preg_match("/^(?:[.-])|([.]{1})|(\d)|(?:[.-])$/",$a)) echo "blad\n"; else echo "ok\n";' blad cojack@cojack-laptop:~$ php -r '$a = ".ab..cefgh-"; if(preg_match("/^(?:[.-])|([.]{1})|(\d)|(?:[.-])$/",$a)) echo "blad\n"; else echo "ok\n";' blad cojack@cojack-laptop:~$ php -r '$a = "ab..cefgh-"; if(preg_match("/^(?:[.-])|([.]{1})|(\d)|(?:[.-])$/",$a)) echo "blad\n"; else echo "ok\n";' blad cojack@cojack-laptop:~$ php -r '$a = ".ab..cefgh"; if(preg_match("/^(?:[.-])|([.]{1})|(\d)|(?:[.-])$/",$a)) echo "blad\n"; else echo "ok\n";' blad cojack@cojack-laptop:~$ php -r '$a = ".abcefgh"; if(preg_match("/^(?:[.-])|([.]{1})|(\d)|(?:[.-])$/",$a)) echo "blad\n"; else echo "ok\n";' blad cojack@cojack-laptop:~$ php -r '$a = "abcefgh"; if(preg_match("/^(?:[.-])|([.]{1})|(\d)|(?:[.-])$/",$a)) echo "blad\n"; else echo "ok\n";' ok -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
Kod /^(?![\.-])(:?[\da-z\.-](?!\.\-|\-\.|\.\.))*[\da-z]$/
Ten post edytował zegarek84 10.11.2009, 12:11:49 -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 2 Dołączył: 24.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
wielkie dzieki - o to mi chodzilo
![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
A że się tak spytam co w moim jest nie tak?
-------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
nie testowałem ale jak na szybko patrzę i założenie tego co napisałeś (szukałeś niedozwolonych znaków) to choć jest prawidłowe "A.B" to w powyższym przypadku raczej się nie sprawdzi....
wewnątrz jedna kropka miała być dozwolona - dopiero 2 i więcej nie - a i nie sprawdzałem ale patrząc na logikę to wykluczyłeś też cyfry?? Kod [grzesiek@localhost ~]$ php -r '$a = "abc4efgh"; if(preg_match("/^(?:[.-])|([.]{1})|(\d)|(?:[.-])$/",$a)) echo "blad\n"; else echo "ok\n";'
blad Ten post edytował zegarek84 10.11.2009, 18:20:53 -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 05:27 |