![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 211 Pomógł: 0 Dołączył: 30.03.2006 Skąd: Żary Ostrzeżenie: (0%) ![]() ![]() |
Szukałem w wielu kursach i na wielu stronach wzmianki o tym co oznacza zapis p{L}, w wyrażeniach regularnych, jedyne użycie widziałem w tematach na tym forum,
używane w celu szukania ciągów ze znakami językowymi np. ą, ę etc. Jednak nie zawsze to wyrażenie się sprawdza. Przykładowo wyrażenie Kod '/([\w]+ \|( [\w]+ \|){3} [\w]+)/u' zwraca Kod Wszystkie | Handel | Pomoc | Atak | Pozosta w szukanym ciągu Kod Wszystkie | Handel | Pomoc | Atak | Pozostałe Zatem logiczne wydaje się zmodyfikowania wyrażenia do postaci Kod '/([\w]+ \|( [\w]+ \|){3} p{L}+)/u' jednak w tym wypadku zostaje zgłoszony fałsz.Moje pytanie jest następujące, co dokładnie oznacza stosowanie p{L} oraz czy są jakieś inne ciekawe zapisy, których nie poruszają kursy internetowe? Ew. proszę o polecenie jakiegoś dobrego, dość rozszerzonego kursu wyrażeń regularnych stosowanych w PHP, może być to książka. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 211 Pomógł: 0 Dołączył: 30.03.2006 Skąd: Żary Ostrzeżenie: (0%) ![]() ![]() |
Rzeczywiście, nie przeszukałem stron anglojęzycznych za dobrze, a w tym manuala, jednak nadal nie rozumiem dlaczego p{L} w powyższym przykładzie nie zwraca żadnego rezultatu. Wyrażenie
Kod '/([\w]+ \|( [\w]+ \|){3} p{L}+)/u' wydaje się być dobre, a mimo to nie działa.EDIT: Moja nieuwaga. Przed p{L} powinien wystąpić backslash. W rezultacie powinno być Kod '/([\w]+ \|( [\w]+ \|){3} \p{L}+)/u' Przepraszam za problem. Ten post edytował Krisu 27.09.2010, 16:38:53 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 02:50 |