正则匹配的捕获组

620 阅读1分钟

需要解决的问题:

{
    "data":{
        "createTime":1582862058325,
        "faceAndCardPermission":2,
        "facePermission":2,
        "iDNumber":"12313213132131",
        "iDPermission":2,
        "id":"554353fessdrwer",
        "idCardPermission":2,
        "idcardNum":"",
        "name":"12302"
    },
    "msg":"成功",
    "result":1,
    "success":true
}

从这一段json字符串中提取出id的字符串

正则捕获组相关概念:

引用:www.jb51.net/article/160…

  1. ()捕获组
  2. (?:)非捕获型分组 —— 只想匹配分组,不缓存匹配到的结果
  3. (?=)正向前瞻型捕获 —— /x(?=y)/ 匹配x, 但是必须在x的后面是y的情况下
  4. (?!)负向前瞻型捕获 —— /x(?!y)/ 匹配x, 但是必须在x的后面不是y的情况下
  5. (?<=)正向后顾型捕获 —— /(?<=y)x/ 匹配x, 但是只在前面有y的情况下
  6. (?<!)负向后顾型捕获 —— /(?<=y)x/ 匹配x, 但是只在前面没有y的情况下
  7. (?=), (?!), (?<=), (?<!) ——

所以提取id需要使用

(?<="id":")[a-zA-Z0-9]+(?=")