regex - 用于在 ColdFusion 9 中删除字符串中数值周围的引号的正则表达式

标签 regex json coldfusion

我所说的数值是指以下 JSON 中不应包含在双引号内的值。我已经为此编写了一个一次性解决方法,但是可以重用的通用 REReplace() 将是一个极好的帮助。

所以这个

{
  "collapse_key" : "demo",
  "delay_while_idle" : true,
  "registration_ids" : ["xyz"],
  "data" : {
    "key1" : "value1",
    "key2" : "value2",
  },
  "time_to_live" : "3"
},

变成这样:

{
  "collapse_key" : "demo",
  "delay_while_idle" : true,
  "registration_ids" : ["xyz"],
  "data" : {
    "key1" : "value1",
    "key2" : "value2",
  },
  "time_to_live" : 3
},

最佳答案

这应该有效:

s = reReplace(s, '"([\d.-]+)"', "\1", "ALL")

(其中 s 是您的 JSON 字符串)

  • "匹配双引号
  • () 表示“记住这一点,以便我稍后可以将其引用为\1
  • \d 表示“数字”
  • 。表示小数点
  • - 表示减号
  • +表示其中一个或多个

请注意,这将匹配非法“数字”,如“..0-1”,但在您的要求范围内,这可能没问题。人们可以对正则表达式进行卷积以使其更加精确,但这样做可能没有任何好处。如果存在误报风险,请告诉我,我可以修改。

或者我想彼得无论如何都会给出更好的答案;-)

关于regex - 用于在 ColdFusion 9 中删除字符串中数值周围的引号的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13248213/

相关文章:

javascript - 为什么这个 RegEx 在 JavaScript 中不起作用?

php - 短语或字符集的正则表达式模式帮助

javascript - JQuery:获取 JSON 回复的长度?

html - 十进制在sql中被截断

sql - cfquery 文本编码问题

java - 用于替换查询参数中的值的正则表达式

具有 NULL 值的 MySql 正则表达式

java - 如何使用一个ajax请求从java servlet返回多个json对象

jquery - 博主jquery调用

coldfusion - 如何使用 CFQUERY 从 Table2 中为 Table1 中的每一项获取一个结果?