Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wyrażenia regularne i p{L}
Krisu
post 27.09.2010, 15:12:15
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.
Go to the top of the page
+Quote Post
Crozin
post 27.09.2010, 15:48:28
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Tyle szukałeś, a tego nie znalazłeś? http://pl.php.net/manual/en/pcre.pattern.php Kompletne omówienie składni wyrażeń regularnych w PHP.
Go to the top of the page
+Quote Post
Krisu
post 27.09.2010, 16:28:12
Post #3





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
Go to the top of the page
+Quote Post
-krzotr-
post 27.09.2010, 16:42:19
Post #4





Goście







http://pl.php.net/manual/en/regexp.reference.unicode.php
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: 16.06.2025 - 19:01