Javascript-删除最后一个全局修饰符不起作用

Javascript - Remove last with global modifier not working

本文关键字:不起作用 全局 删除 最后一个 Javascript-      更新时间:2023-09-26

我有一个类似的正则表达式:

("2*").replace(/['+'-'*'/]$/g, "") -> "2"

即使它有全局修饰符,这也不会起作用:

("2**").replace(/['+'-'*'/]$/g, "") -> "2*"

你是怎么解决的?

您需要在字符类中使用量词。+量词的意思是"一次或多次"。此外,您可以避免对类中的某些字符进行转义,并删除全局修饰符。

'2*****'.replace(/[-+*/]+$/, '') //=> "2"

说明:

[-+*/]+  # any character of: '-', '+', '*', '/' (1 or more times)
      $  # before an optional 'n, and the end of the string

您可以尝试:

"2**".replace(/['+'-'*'/]+$/, "")

您也可以尝试:

"2**".replace(/[-+*/]+$/, "");

l’l’l建议。或者使用否定:

"2**".replace(/[^0-9]+$/, "");