![]() |
![]() ![]() |
![]() |
![]()
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 ? ![]() Ten post edytował Komarek 30.03.2010, 18:32:48 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
google.pl -> wyrażenia regularne
@do innych Nie podawajcie od razu gotowca. Sam zrobi - lepiej się nauczy ![]() -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 18.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() 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 -------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 18.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
jezeli cie to bardzo interesuje to powiem ci ze od poczatku napisania tematu czytam coraz to kolejne tutki na temat wyrazen regularnych oraz preg_match, jednak nie moge znalezc zadnej informacji dotyczacej ilosci znakow
tzn sa takie informacje ale w tym stylu [0-9]+[0-9]+... itd a nie ma typowego okreslenia na MINIMUM znakow. Dlatego pisze z prosba o pomoc a nie czekam na gotowiec. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Przejrzyj PCRE. Nie ma dużo, jeśli wiesz, czego szukasz i odrobinę znasz angielski. Podpowiem jeszcze, że interesują Cię Meta-characters.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 18.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wymyslilem cos takiego
Kod ^STEAM_[0-1]:[0-1]:((\d){2}+)^ Ale zastanawiam sie czy to jest dobrze Dzialac dziala ale zadaje pytanie poniewaz to: Kod ^STEAM_[0-1]:[0-1]:(\d){2,}^ tez dziala ![]() Oba znacza dla MINIMUM 2 znakow hm ? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
A czy nie miało być przypadkiem górnego ograniczenia dla liczby cyfr?
Cytat i na koniec Jeżeli miało być, to się zastanów, z której z powyższych opcji lepiej skorzystać.
od jednej do 11 cyfr (0-9) |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 05:52 |