【问题标题】:Escaping JSON and Regex转义 JSON 和正则表达式
【发布时间】:2014-02-23 11:07:23
【问题描述】:

我需要一个用于正则表达式的 json 字符串。老实说,我对所有的转义有点困惑.. :)

我想用正则表达式替换“\o/”。源字符串应该是 JSON。

这是没有转义的 JSON 字符串:

var emoticons=...
    + '{"img": "party.png","short": "\o/"},'
...

我尝试转义斜杠和反斜杠以满足正则表达式的需要,但之后无法再解析 JSON:

var emoticons=...
    + '{"img": "party.png","short": "\\o\/"},'
...

JSON-String 应该是什么样子?

代码:

var smilies = JSON.parse(emoticons);
text.replace(new RegExp(smilies.short,......);

【问题讨论】:

  • 您可能不应该将正则表达式应用于整个 json 字符串;解析 json,找到您想要的变量,然后才将正则表达式应用于实际字符串;让您的 json 序列化程序完成剩下的工作。
  • 我做到了。这只是关于“短”属性
  • @DeanTaylor 不。转义正则表达式不是“只是”,而是 regex/json 组合(“双重转义”)
  • @OleAlbers 是字符串,是JSON没关系,除了转义的输入是JSON字符串,最终只是转义到RegEx的字符串。

标签: javascript regex json


【解决方案1】:

已解决:字符串将是 "\\\\o\\/"

【讨论】:

    猜你喜欢
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 2011-12-15
    • 1970-01-01
    相关资源
    最近更新 更多