Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyrażenie regularne problem
Forum PHP.pl > Forum > Przedszkole
stefan33
Witam
Od godziny sie z taka glupota mecze i nie moge dociec czemu preg_match daje false. Bardzo prosze o pomoc
Oto wzór:
  1. preg_match("/\[autor='*'\]/","[autor='gostek']") //false (dlaczego?)

dodaje(dla ulatwienia)
  1. preg_match("/\[autor='*'/","[autor='gostek']") //true(po usunięciu \] z wzoru
abort
Gwiazdka oznacza: dopasuj dowolną (zero lub więcej) ilość znaków poprzedzających mnie.
czyli:
'*' oznacza: dopasuj zero lub więcej apostrofów, po którym jest apostrof. Więc dopasował sobie , że pierwszy apostrof pasuje do całego '*' (gwiazdka w tym wypadku robi za dopasowanie ZERA znaków). A Ty nie masz za pierwszym apostrodem znaku ']', prawda?

matchuj '.*' - apostrof, potem dowolny ciąg znaków i znowu apostrof. Wtedy zwróci pięknie to, co potrzebujesz.

Drugi regexp (ten bez "\]) sprowadza się de facto do "/\[autor='/" - a to pasuje.
stefan33
dzieki wielkie smile.gif
abort
nie ma sprawy. Przy okazji: pomyliłem się nieco w tłumaczeniu, nie wiem czy przeczytałeś już poprawioną wersję wytłumaczenia.
stefan33
hehe spoko jest ok wszystko, jeszcze raz dzieki tongue.gif
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.