我有一段代码,我认为应该检测提供的字符串是否仅包含任意数量的空格,后跟逗号,后跟任意数量的空格:
if(str.match("/^[ ]*,[ ]*$/")) {
//do something
}
并且后面的字符串不匹配“,”。事实上,在仅由空格和单个逗号组成的字符串中,逗号之前或之后的空格数量都不会匹配。我想我可能对我的语法感到困惑,而且它只是没有点击。
我也尝试用这些替换正则表达式,但没有成功:
"/^[\s]*[,][\s]*$/"
"/^[\s]*,[\s]*$/"
"/^[ ]*[,][ ]*$/"
有什么想法吗?
最佳答案
您不应该引用正则表达式。您正在尝试以这种方式匹配实际的、字面的正则表达式文本。尝试:
if (str.match(/^\s*,\s*$/))
{
// whatever
}
匹配任何空白字符,或者
if (str.match(/^ *, *$/))
仅匹配空格。
关于javascript - 正则表达式未按预期执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18237809/