REGEX:删除以下日期模式末尾的逗号

时间:2018-01-26 18:21:26

标签: javascript regex

我获得了以下API的JSON:

{
  "things": [
    {
      "id": 100,
      "bla": "blablablabla",
      "summary": "blablablabla",
      "date": "11/12/2016",
    },
    {
      "id": 101,
      "bla": "blablablabla",
      "summary": "blablablabla",
      "date": "02/05/2017",
    },
    {
      "id": 102,
      "bla": "blablablabla",
      "summary": "blablablabla",
      "date": "03/03/2017",
    },
    {
      "id": 103,
      "bla": "blablablabla",
      "summary": "blablablabla",
      "date": "12/04/2017",
    }
  ]
}

你可以看到这个json中有一个拼写错误,因为日期之后的逗号是错误的,有没有办法在每个日期之后删除这个逗号?

2 个答案:

答案 0 :(得分:3)

替换逗号字符,后跟换行符和空格字符,后跟}

str.replace(/,(?=[\n\s]+})/g, "")

答案 1 :(得分:1)

您可以使用以下RegEx:("date": "[0-9\/]*"),

preg_replace("/("date": "[0-9\/]*"),/", "$1", $json);

我们搜索"date": ",然后搜索0-9或斜线的任意数字,这将带我们一直到最终的引号。在模式中,我们包括此引号。从第一个引号到最后一个引号,全部包含在括号中,以便它是一个组匹配(我们将调用"组1和#34;),然后我们验证它以逗号,结尾。一旦我们验证了这一点,我们就用" Group 1"替换整个选择,以便从字符串中删除逗号。

您可以看到更详尽的演练on regex101