我在找一种模式
"changes": [
"5.12.0",
"5.14.0"
],
...
"changes": [
"1",
"5.0.0",
"5.10.1"
],
...
"changes": [
"4.4",
"5.0.0",
"5.10.1"
],
字符串
我不是Maven,我试过40或50种不同的解决方案,这是我最后一次尝试:
/"changes": \[\s*("([0-9](.+))*"(,+))*\s*\],/
型
我试了这个,它很有效,泰。
"changes": \[\s*("([0-9](.+))*"(,+)\s )+("([0-9](.+))*"\s)\],
型
3条答案
按热度按时间whhtz7ly1#
我会分两步来做:
1.搜索“changes”后面括号内的版本列表:
/"changes":\s*\[\s*([^\]]+)\s*\]/g
:https://regex101.com/r/XHaxJ0/41.对于每个匹配,您将获得捕获组1中的版本列表:
字符串
然后,您可以使用
/[\d.]+/g
提取每个版本:https://regex101.com/r/XHaxJ0/2的JavaScript代码:
型
问题变更后编辑
如果你只想删除“changes”条目,我会这样做:
型
yhived7q2#
对不起,如果我不澄清,我有一个JSON与3000 k行,与一个大数组的对象,我想删除所有的变化版本的任何对象。
解决方案是:
字符串
谢谢!我今天早上花了4个小时,问了几分钟后发现:(
ql3eal8s3#
从我上面的评论…
changes
entry中的value is an array;在此之后,JSON.stringify
对象和writing the json to the file?“*