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%)
|
Nie jest prościej bo jest źle (IMG:style_emoticons/default/smile.gif) String "111" albo "553" przejdzie przez tego preg_matcha ;P Mi się wydaję, że się nie da (IMG:style_emoticons/default/smile.gif) właśnie przez tą kolejność ;/ Ale życzę powodzenia ;P No nie dodałem, że w $string każda fraza może wystapić tylko i wyłącznie raz. Może być 1,2,3,4 ale nie może być 1,1,2,3 Coś takiego wymodziłem:
ale musisz sprawdzić na swoich stringach, czy działa prawidłowo dziala, ale tak jak napisal sephirus, przejdzie kazda fraza Ogólnie chodziło mi o to żeby zapis był krótki i czytelny, tak jak, np. ((1)|(2)|(3)){3} (szkoda, że nie działa). No nic, w takim wypadku będę musiał osobno pisać pod SQL procedurę powtarzającą FIND_IN_SET(); a w PHP to już bzdurka (IMG:style_emoticons/default/tongue.gif) równie dobrze mogę wykorzystać explode i dać in_array(); Jak ktoś znajdzie jakieś sensowne rozwiązanie, zakładając, że szukanych jest dziesiątki, a nie tylko trzy sztuki to bardzo proszę o napisanie tego w tym poście Ten post edytował cudny 4.11.2011, 15:49:05 |
|
|
|
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
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
cudny Cytat(pyro @ 4.11.2011, 17:32:23 ) Ro... 4.11.2011, 20:46:55 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 06:37 |