由于某些原因,这两个正则表达式的行为相同:

"43\\gf..--.65".replace(/[^\d.-]/g, "");​  // 43..--.65
"43\\gf..--.65".replace(/[^\d\.-]/g, "");​  // 43..--.65

Demo

在第一个正则表达式中,我不会转义点(.),而在第二个正则表达式中,我会转义(\.)。

有什么区别,为什么它们表现相同?

最佳答案

因为该点在字符类内部(方括号[])。

看一看http://www.regular-expressions.info/reference.html,它说(在char class部分下):

关于javascript - 正则表达式范围内的转义点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10397968/

10-12 12:56
查看更多