要从匹配组中求反的regex



我正在尝试使用regex来匹配除"id":数字部分

我想出了这个";(\b(id":((\d+(\b(";找到id:byDigits模式,但我需要否定它,但一直无法绕过它。

[{"age":1,"id":123,"value":"14"},
{"age":1,"id":4214,"value":"4324"},
{"age":3,"id":4244,"value":"545"}]

感谢您的帮助。

最简单的选项是将字符串的其余部分捕获到组中,并在下面的替换中使用它

演示:https://regex101.com/r/cRVA5C/2/

模式:^([sS]*?)s*"id":d+,?s*([sS]*?)$

细分:

  • ([sS]*?):匹配"id":前后任意数量的任意字符。将其捕获到组12
  • s*"id":d+,?s*:匹配"id"=d+,可选地前面有空格,可选地后面有空格
  • 在替换中,使用12,以获得所需的输出

注意:Regex可能不是解析JSON的理想工具。

相关内容

  • 没有找到相关文章

最新更新