正则表达式不验证字符串结尾

Regex not validating end of string

考虑以下场景(Javascript 代码):

regex = new RegExp((/([\d,.]+)[ $]/));
value = "2.879"  

正则表达式不匹配值,但它匹配 (value+" ") 因此我认为 $ 不匹配?这是为什么?

$ 不应该验证字符串的结尾吗?

$ 等特殊字符在字符 class 中的含义不同。在字符 class 中,它们只是字符,因此 [ $] 将匹配 space 字符或 $ 字符。它不会匹配字符串的结尾。

如果你想匹配 space 个字符或字符串的结尾,你应该使用交替,即 ( |$).