Javascript正则表达式不匹配

时间:2015-08-20 09:51:09

标签: javascript regex match

早上好

我有一个javascript正则表达式无法正常工作,我不确定原因。

我在https://uptimerobot.com调用API,然后返回一个包含监视器状态详细信息的JSON字符串。然而,这包含在函数调用语法中。像这样:

jsonUptimeRobotApi({MASKED-STATUES-OBJ})

由于此调用是从通用脚本调用的,我希望测试响应以查看是否有这种类型的语法包装,然后相应地解析它。

但是,我似乎无法找到与逻辑匹配的RegEx语法:

  • 字符串开头
  • 未知数量的字符[a-zA-Z]
  • 打开括号
  • 张开大括号
  • 任意数字的未知数字
  • 关闭大括号
  • 关闭括号
  • 字符串结尾

这看起来是正确的:

^[a-zA-Z]+\(\{.*\}\)$

在regex101中工作:https://regex101.com/r/sE7dM6/1

但是我的代码和jsFiddle:https://jsfiddle.net/po49pww3/1/

失败了

" m"在regex101中添加,因为实际的字符串更长,没有它就无法匹配,但是我尝试过的一些小小的调整导致了jsFiddle中的匹配。

任何人都知道什么是错的?

1 个答案:

答案 0 :(得分:6)

再次转义所有反斜杠,因为在var regEx = new RegExp("^[a-zA-Z]+\\(\\{.*\\}\\)$", "m"); 分隔符内,您必须再次使用反斜杠,否则它将被视为转义序列。

library(RODBC)

DEMO