![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 23.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam taki oto problem że regex zwraca "true" gdy podany string w części pasuje do innego wzorca. A powinno być tak że pod uwagę jest brany string tylko jako całość. Przykład: Mam trzy wzorce do których następuje sprawdzanie. Te wzorce to wzorce akceptowalnych adresów url.
Pytajniki to placeholdery dla liczb. I teraz kod sprawdzający. Najpierw wybrane znaki zamieniam na te rozumiane przez regEx. Potem tworzę już gotowego RegExa.
I teraz najważniejsze: Dla urla 'users' zwraca mi true dla pierwszego wzoru. POPRAWNIE Dla urla typu 'users/4' zwraca mi true dla drugiego wzoru. POPRAWNIE Dla urla typu 'users/4/level/1' zwarca mi true dla drugiego i trzeciego wzoru. ŹLE Powinno zwrócić true tylko dla trzeciego wzoru. Co jest nie tak? Dlaczego zwraca mi dwa razy true? A po drugie dlaczego nie zwraca true dla trzech wzorów? Chyba tak powinno byś jeśli regEx nie działa poprawnie? I po trzecie, dlaczego dla przypadku drugiego urla nie zwracami true dla dwóch pierwszych wzorów? Bardzo proszę o pomoc co jest źle i jak to naprawić. Z góry dziękuję. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Pytajnik zamieniasz na .*, czyli na "cokolwiek", wstaw tam np. "cokolwiek tylko nie slash" i bedzie ok (IMG:style_emoticons/default/tongue.gif)
Ten post edytował kapslokk 24.07.2018, 16:23:08 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 02:21 |