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

3
考虑以下情况(Javascript代码):
regex = new RegExp((/([\d,.]+)[ $]/));
value = "2.879"  

正则表达式不匹配value,但是它匹配了(value+" "),因此我认为$没有被匹配到?这是为什么呢? $不应该验证字符串的结尾吗?
1个回答

6
特殊字符如 $ 在字符类中的含义与普通情况不同。在字符类中,它们只是普通字符,因此 [ $] 将匹配空格或 $ 字符,但不会匹配字符串的结尾。
如果您想匹配空格或字符串的结尾,应该使用替换,即 ( |$)

谢谢。非常好的回答!您知道我是否可以避免捕获分组吗? - user3452075
1
使用 ?: 开始一个非捕获组(即 (?:pattern) - James Wilkins
詹姆斯已经搞定了:(?: |$) - Jordan Running
谢谢!非常抱歉打扰你这么多次。(如果可以的话,请告诉我是否有一种系统可以将此选为问题的答案) - user3452075

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接