Ваш вопрос все еще не очень понятен, но при этом вы получите желаемый результат:
'----------- 243f,33f----'.replace(/(?!^-)[^\d,]+/g, '')
Регулярное выражение соответствует одному или нескольким символам, кроме цифр или запятых, после того, как первый символ указанне дефис в начале строки.
РЕДАКТИРОВАТЬ: Для тех, кто придумал регулярные выражения, используя (?<!^)
, а затем отозвал их, потому что JavaScript не поддерживает вид сзади, что не было необходимости.Я знаю, что были другие проблемы с этими ответами, но с целью сопоставления «не начало строки», (?!^)
работает просто отлично.