Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] preg_match - ucieczka z alternatywy
kurkusmaximus
post 30.07.2012, 07:37:03
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 27.01.2010
Skąd: Sopot

Ostrzeżenie: (0%)
-----


Przyjmijmy, że posiadam ciąg: 235325|325325

Próbuję sprawdzić czy ten ciąg składa się z: tylko liczby, znak alternatywy (|), tylko liczby

Gdy stosuję ten skrypt:

  1. $ciag = "235325|325325";
  2.  
  3. if( preg_match("/\d+\|\d+/", $ciag) ){
  4. print "a";
  5. }else{
  6. print "b";
  7. }

zwraca poprawnie znak "a"

gdy zamienię ciąg na:
  1. $ciag = "U235325|U325325";

zwraca poprawnie znak "b"

ale gdy zamienię ciąg na:
  1. $ciag = "2U35325|3U25325";

zwraca znak "a"

Powodem takiego działania jest źle poskładane wyrażenie regularne.
Tak wygląda poprawne:
  1. if( preg_match("/^\d+\|\d+/", $ciag) ){
  2. print "a";
  3. }else{
  4. print "b";
  5. }


Na poczatku myślałem, że nie robię poprawnej ucieczki z |, teraz już wiem, że nie sprawdzałem preg_matchem ciągu od początku do końca, tylko "wyrywkowo".

Ten post edytował kurkusmaximus 30.07.2012, 12:52:30
Go to the top of the page
+Quote Post
wNogachSpisz
post 30.07.2012, 09:22:14
Post #2





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Co chcesz sprawdzić?
Go to the top of the page
+Quote Post
Sephirus
post 30.07.2012, 10:42:01
Post #3





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Sprecyzuj pytanie...

Regexp dopasowany do tego wygląda tak:

  1. $ciag = "dfjf2|4536";
  2.  
  3. if( preg_match("/[a-z0-9]+\|\d+/", $ciag) ){
  4. print "a";
  5. }else{
  6. print "$b";
  7. }




--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
kurkusmaximus
post 30.07.2012, 12:51:19
Post #4





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 27.01.2010
Skąd: Sopot

Ostrzeżenie: (0%)
-----


Przepraszam za tak niejasno sformułowane pytanie, mój błąd.
Zaktualizowałem pierwszy post i zarazem podałem rozwiązanie mojego problemu.

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:37