首页 > 解决方案 > 正则表达式从 json 中获取数字

问题描述

如何使用正则表达式从 json 有效负载中获取所需的格式文本输出

"number" : 4aac4c35-8e3e-4730-8364-381884d6f20f:OP:QUAL:117804471:PON:false

得到如下输出的表达式是什么

"number" : 117804471

能否请你帮忙。

我尝试了以下方法;但它没有用;我是新手。

([\"]token[\"][\s]*:[\s]*)?([0-9]{9})

标签: regexirule

解决方案


是的,正如@PJProudhon 所说,我们缺乏帮助您的精确度。

如果您只想提取数字而不使用某些捕获组,则可以使用以下正则表达式:(?<=:)\d+(?=:\w+:(?:true|false))

快速解释:

  • (?<=:)是寻找:字符的积极回溯。
  • \d+就是得到一个至少1位小数或更多的数字。
  • (?=:\w+:(?:true|false))是查找 a :、单词、a:然后 true或的正向前瞻false

这里有多个值的小测试:https ://regex101.com/r/1nRnct/2

希望这可以帮到你。


推荐阅读