Я использую следующий reg ex для удаления чисел из строки, но он также удаляет (-) из отрицательных чисел.Кто-нибудь знает о reg ex, который оставляет числа, а также (-).Спасибо.
var string = "jdhjhjcdhj-200"; alert(string.replace(/[^\d]/g,""));
регулярное выражение (?!-?\d).
(?!-?\d).
var string = "j-d-h-j-hjcdhj-200def-"; alert(string.replace(/(?!-?\d)./g,""));
Обратите внимание, что это обнажит abc-def-123 и сделает его -123
abc-def-123
-123
Тест здесь: http://gskinner.com/RegExr/?2uvds
Он использует отрицательный прогноз, чтобы "игнорировать" минус, за которым следуют цифра и цифры.
Если вы хотите удалить многострочный текст, вам, вероятно, следует использовать [\s\S] вместо . (читайте здесь http://www.regular -expressions.info / dot.html )
[\s\S]
.
Включить тире в список исключенных символов:
string.replace(/[^\d\-]/g,"")
Метод match возвращает массив совпавших шаблонов:
var string = "jdhj-hjc-dhj-200"; alert(string.match(/-?\d+/)[0]);
Просто добавьте - в свое регулярное выражение:
-
var string = "jdhjhjcdhj-200"; alert(string.replace(/[^\d-]/g,""));
Это дает вам -200
-200