javascript - 正则表达式未按预期执行

标签 javascript regex

我有一段代码,我认为应该检测提供的字符串是否仅包含任意数量的空格,后跟逗号,后跟任意数量的空格:

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/

相关文章:

javascript - 如何获取javascript对象的实际构造函数?

用于匹配 1 次或多次出现的 JAVA 正则表达式

jquery - 使用 jQuery 添加小数点后两位的千位分隔符

php - 如何使用 preg_match_all 从字符串中检索三个参数?

javascript - 允许正则表达式以句点或减号开头

javascript - 存在固定导航栏时的 HTML 页面转到内联链接

javascript - 无法访问对象的子属性。

javascript - 使用 JavaScript 转换字符链(不再工作?)

javascript - 为什么我的 Javascript 函数没有按预期工作?

regex - 研究 : a lack of understanding through 2 examples