正则表达式:不是一条线的开头?

gra*_*ady 1 javascript regex replace

我有一个像这样的字符串: ----------- 243f,33f----

现在我想删除-除第一个-,,数字和数字之外的所有字符.结果应为-243,33.我该怎么做?

Ala*_*ore 7

您的问题仍然不是很明确,但这会产生您想要的输出:

'----------- 243f,33f----'.replace(/(?!^-)[^\d,]+/g, '')
Run Code Online (Sandbox Code Playgroud)

在确保第一个字符不是字符串开头的连字符后,正则表达式匹配除数字或逗号之外的任何字符中的一个或多个.

编辑:对于那些提出正则表达式(?<!^)然后撤回它们的人,因为JavaScript不支持lookbehinds,这是没有必要的.我知道这些答案还有其他问题,但为了匹配"不是字符串的开头",(?!^)工作得很好.