繁体   English   中英

Javascript 正则表达式不匹配

[英]Javascript Regular Expression not matching

大家早

我有一个无法正常工作的 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 中添加的,因为实际的字符串要长得多,没有它就无法匹配,但是我尝试过的一些小 tweeks 没有在 jsFiddle 中产生匹配。

有谁知道怎么了?

再次转义所有反斜杠,因为在"分隔符中,您必须再次转义反斜杠,否则它将被视为转义序列。

var regEx = new RegExp("^[a-zA-Z]+\\(\\{.*\\}\\)$", "m");

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM