Próbuję dopasować liczbę na końcu ciągu, używając wyrażenia regularnego. Na przykład, łańcuch może wyglądać następująco:RegEx pasuje do liczby na końcu ciągu znaków
var foo = '101*99+123.12'; // would match 123.12
var bar = '101*99+-123'; // would match -123
var str = '101*99+-123.'; // would match -123.
To, co mam tak daleko, ale wydaje się, aby dopasować cały ciąg, jeśli nie ma przecinka dziesiętnego:
foo.match(/\-?\d+.?\d+?$/);
biorę to znaczy:
\-?
: opcja "-" symbol\d+
: 1 lub więcej cyfr.?
: opcjonalnie punkt dziesiętny\d+?
: opcja 1 lub więcej cyfr po kropce dziesiętnej$
: mecz na końcu łańcucha
Czego mi brakuje?
Dziękuję za rzeczywiście próbuje coś, pokazując swoją pracę, a wyjaśniając. Mogłoby być lepiej, gdyby było zawarte jsFiddle, ale żebracy nie mogą być wybieralni ... :) Jedna szybka notatka - '.' w środku regex oznacza" dowolny znak "(w zasadzie), a nie" okres "; Myślę, że powinieneś uciec przed nim, być "\.?". To może nie być jedyny problem, po prostu coś, co zauważyłem w twoim opisie regex – Ian
Wow ... Popatrz, jak najprostsze pytanie staje się dużo przebojów, gdy OP wkłada wysiłek. Twoje zdrowie! – jahroy
Czy ciąg znaków będzie zawsze wyglądał jak "x * y + z"? – Xotic750