如何将多行正则表达式文本转义为有效的json?

时间:2018-07-03 21:21:58

标签: javascript json regex python-textfsm

Value Year (\d+)
Value Timezone (\S+)
Value MonthDay (\d+)
Value Month (\w+)
Value Time (..:..:..)

Start
  ^${Time}.* ${Timezone} \w+ ${Month} ${MonthDay} ${Year} -> Record

这是texfsm的模板,它使用正则表达式模板解析基于cli的响应。继承人从javascripts json.stringify返回

{"template":"Value Year (\\d+)\nValue Timezone (\\S+)\nValue MonthDay (\\d+)\nValue Month (\\w+)\nValue Time (..:..:..)\n\nStart\n  ^${Time}.* ${Timezone} \\w+ ${Month} ${MonthDay} ${Year} -> Record"}

我想在前端编写此模板,然后将其发送到我的服务器进行处理。我使用了 json.stringify(),但是当尝试在python中使用 json.loads()时,它会补偿转义字符的错误。

ValueError: Invalid \escape: line 1 column 83 (char 82)

我如何才能正确地将此模板转义为json,然后对其进行转义并在python中的服务器上使用它?

-

作为旁注。

我在这里看到了如何转义正则表达式( Is there a RegExp.escape function in Javascript?),尽管我不确定如何对其进行转义。

1 个答案:

答案 0 :(得分:0)

您必须转义所有美元符号字符。 用\ $

更改所有$