Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] własne preg_match
Komarek
post
Post #1





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 18.12.2009

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


Witam

Kompletnie nie rozumiem tego preg_match jak to zbudowac itp...

chcialbym by bylo to wyrazenie:

STEAM_

Zawsze musi zaczynac sie od tego
Pozniej:

Jedna cyfra (0-9)

Pozniej

znak :

Pozniej

jedna cyfra (0-9)

pozniej

znak :

i na koniec

od jednej do 11 cyfr (0-9)

I nie mam zielonego pojecia jak to zrobic...

Przykladowo:

zgadza sie: STEAM_0:1:123456789
nie zgadza sie: STE_1:2:123456789



add:

ok wymyslilem cos takiego
Kod
^STEAM_[0-9]:[0-9]:(\d+)^


i smiga dla
STEAM_1:1:

ale jak okreslic dodatkowo ILE cyfr ma byc na koncu ? (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował Komarek 30.03.2010, 18:32:48
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Robisz dokładnie tak, jak napisałeś. Wyrażenia regularne są proste, gdy uświadomimy sobie, że jest to czytanie słowa od lewej do prawej i sprawdzanie, czy na danej pozycji znajduje się to, czego się spodziewamy w danym momencie. Parser nie cofa się do poprzednich znaków (tzn. PCRE wprowadza takie rozszerzenie, ale na razie je pomińmy).

Zatem po prostu ułóż wyrażenia dla każdej z tych części, które podałeś, a później połącz je w jedno w takiej kolejności, w jakiej chcesz, by one występowały. Nie obrażając nikogo, trzeba mieć naprawdę duże zaćmienie, by nie być w stanie załapać np. że [0-9] mówi, że w danym miejscu powinna być cyfra z zakresu 0-9, bo o takich banałach tu właśnie mówimy; jest to zwyczajne skopiowanie paru podstawowych "cegiełek" z tutoriali i podłączam się pod poprzednika. Gotowca nikt Ci nie poda, bo nic Ci to nie da. Za 5 minut wrócisz z kolejnym problemem.

Edit: Co znaczy "nie masz pojęcia"? Czytałeś coś w ogóle na ten temat czy od razu przyszedłeś i stwierdziłeś "Ja tego nie rozumiem, bo za dużo tekstu było i się przestraszyłem"?

Ten post edytował Zyx 30.03.2010, 18:37:18
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 28.09.2025 - 07:59