Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%)
|
Witam, mam problem z wyrażeniem regularnym, poniżej przykład jak chciałem to rozwiązać, niestety nie działa.
Chodzi o to, aby sprawdzić czy w $string istnieje jedynka i trójka i piątka. Oczywiście cyfry są tylko dla ułatwienia, w rzeczywistości są to ciągi znaków i kolejność nigdy nie jest taka sama. Moje wyrażenie miało sprawdzić czy w stringu istnieje 1 lub 3 lub 5 dokładnie trzy razy, co wydaje się być logiczne i powinno działać, niestety z tego co widzę parser zwraca wystąpienie tylko raz przy pierwszym napotkanym true. Bardzo proszę o pomoc. Jak znaleźć czy w stringu istnieje 1 i 3 i 5. Dokładnie tłumacząc to co mam na myśli: $string może składać się z czegokolwiek ale musi zawierać 1 i 3 i 5 gdzie kolejność cyfr w $string jest przypadkowa. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%)
|
Dla takich wartości też zwróci true. Chociaż pomysł nie głupi (IMG:style_emoticons/default/smile.gif) Ok (IMG:style_emoticons/default/smile.gif) udało mi się hehe. Oczywiście wiem, że tylko ja wiem do czego to ma służyć i jak powinno wyglądać dokładnie, więc było mi duuuużo łatwiej niż Wam, ale i tak ciesze się, że mi się udało (IMG:style_emoticons/default/tongue.gif) to czego szukam to nie są liczby jak już pisałem. są to ID które ukrywają w sobie także inne dane wykorzystywane później, ale mniejsza z tym. Ciąg, w którym szukam wygląda mniej więcej tak:
W $string nie ma możliwości aby się powtarzały poszczególne ID, to znaczy nie może to być:
bo 1_1_1 powtarza się. Jest to zabezpieczone dużo wcześniej i nie będzie takiej sytuacji. W $string muszą być takie oto ID: 1_1_2 i 1_1_1 i 1_4_1 Powyższe ID muszą być wszystkie dokładnie po jednym razie każdy. Rozwiązanie:
Po prostu odwróciłem troszki to czego szukam. Chodzi o to, że $search może składać się tylko i wyłącznie z tego co jest w $string i to musi się powtórzyć tyle razy ile jest szukanych w $search + ilość przecinków czyli 1_1_2 + 1_2_2 + 1_1_4 + dwa przecinki = {5} Jak się podoba (IMG:style_emoticons/default/smile.gif) ? Ten post edytował cudny 4.11.2011, 21:24:47 |
|
|
|
cudny preg_match() 4.11.2011, 14:55:11
Sephirus A może by tak użyć substr_count()
Ta funkcja zwra... 4.11.2011, 15:06:01
cudny nie chodzi mi o funkcję, to musi być wyrażenie reg... 4.11.2011, 15:09:05
Sephirus Jedyne co mi zatem przychodzi do głowy to "be... 4.11.2011, 15:20:52
cojack "/(1)\d+(3)\d+(5)\d+/"
@... 4.11.2011, 15:27:00
cudny [PHP] pobierz, plaintext echo preg_match('/... 4.11.2011, 15:34:53
Sephirus Nie jest prościej bo jest źle String "111... 4.11.2011, 15:35:35
blooregard Coś takiego wymodziłem:
[PHP] pobierz, plaintext ... 4.11.2011, 15:39:52
cudny Cytat(Sephirus @ 4.11.2011, 15:35:35 ... 4.11.2011, 15:44:59
blooregard Cytatdziala, ale tak jak napisal sephirus, przejdz... 4.11.2011, 15:49:36
Sephirus Ok skoro jeszcze chcesz bez powtórzeń to wymiękam ... 4.11.2011, 15:57:59
melkorm Może po prostu napisz o jaki konkretny problem cho... 4.11.2011, 16:02:36
cudny Ale baaaardzo duże ciągi by to były
Napisanie wyr... 4.11.2011, 16:09:43
melkorm Do spamerów raczej nie należę, ale najwidoczniej s... 4.11.2011, 16:16:35
cudny Cytat(melkorm @ 4.11.2011, 16:02:36 )... 4.11.2011, 16:28:36
melkorm CytatInni zrozumieli
Ja też, ale po Twoich wyjaśni... 4.11.2011, 16:46:50
pyro Cytat(cudny)Doszedłem do wniosku, że chyba nie da ... 4.11.2011, 17:04:34
melkorm CytatOczywiście cyfry są tylko dla ułatwienia, w r... 4.11.2011, 17:12:30 
pyro Cytat(melkorm @ 4.11.2011, 17:12:30 )... 4.11.2011, 17:32:23 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 22:25 |