regex 来自字符串的正则表达式失败

6tr1vspr  于 2023-05-30  发布在  其他
关注(0)|答案(1)|浏览(150)

我正在使用DataDog,我试图提取变量的值,以便在以后的其他请求中使用它。我遇到的问题是JSON输出不是JSON。输出使用了转义字符(),由于DataDog无法提取我想要的值作为JSON
所以我试着把它解压缩为regular expression,但还是有问题。我试图获取值***09992***(在本例中),这是'idRo'变量的值。我已经阅读了 regex101 的文档,ii说使用\d+,将获得以下值,并将其分组到它所指示的名称。就是用这个表情

"idRo":(\d+)

它应该获得值09992,但是找不到它。
输出为:

{"values":["{\"name\":\"PRO CAY, M\",\"identf\":[{\"idRo\":09992,\"name\":\"Gas CM\",\"idTPer\":13}]}"]}

如何获取DataDog有效的正则表达式中的值09992?

ou6hu8tu

ou6hu8tu1#

在你的RegExp中,JSON的代码被格式化为JSON文本,所以你需要在你的最终表达式中插入字符“\”,以便与你发布的示例匹配,否则它将无法工作。
正确的RegExp可以是以下内容:

\\"idRo\\"\s*:\s*(\d+)

https://regex101.com/r/DKa1T0/1
代码“\s*”将避免字符“space”的错误匹配。

相关问题