Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] RegExp - usuwanie wszystkiego co nie pasuje do wzorca
Forum PHP.pl > Forum > Przedszkole
Michael2318
Posiadam string, np.: to-jest-string,vp17.end
Chcę w efekcie wyciągnąć TYLKO liczbę 17. Jako, że może się zdarzyć i taki przypadek:
to-jest-string-27,vp17.end
nie mogę na sztywno wyciągnąć samej liczby, więc najpierw muszę wyciągnąć:
vp17, a potem usunąć vp.

Nie korzystałem nigdy z regexpów w js, ponieważ nigdy mi to nie było potrzebne (inaczej, jeśli chodzi o regexpy w php smile.gif ), dlatego też na szybko coś poczytałem w necie i stworzyłem takie cosik:

Kod
var st = 'to-jest-string,vp17.end';
var wzor=new RegExp('(vp[0-9]+)','g');
alert(st.replace(wzor,''));


Ale to mi daje efekt zupełnie odwrotny od porządanego... Czyli zamiast wyświetlić: vp17, wyświetla to-jest-string,.end
W PHP wiem, że wystarczy dorzucić ^ co spowoduje, że zamienione zostaną wszystkie fragmenty NIE PASUJĄCE do wzorca, tutaj też tego próbowałem, ale jakoś bez skutku :/
Dzięki smile.gif
_Borys_
Kod
var st = 'to-jest-string,vp17.end';
    var wzor=new RegExp('vp([0-9]+)','g');
    //alert(wzor.exec(st));
    var c = wzor.exec(st);
    alert(c[1]);
    //alert(st.replace(wzor,''))

Jeśli ma znaleźć wszystkie wystąpienia to wtedy exec() w pętli while()
How to loop all the elements that match the regex?
Michael2318
Dzięki smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.