• 命名分组


    命名分组(?<name>...)

    捕获组 capture group

    • 普通捕获组 (expression)
    • 命名捕获组(?expression)

    普通捕获组

      从正则表达式左侧开始,每出现一个左括号"(",就记作一个分组,分组编号从1开始. 0代表整个表达式.

      对于时间字符串: 2020-11-06, 表达式如下

      (\d{4})-((\d{2})-(\d{2}))

    有4个左括号,所以有4个分组:

     
    编号 捕获组 匹配
    0 (\d{4})-((\d{2})-(\d{2})) 2020-11-06
    1 (\d{4}) 2020
    2 ((\d{2})-(\d{2})) 11-06
    3 (\d{2}) 11
    4 (\d{2}) 06

    命名捕获组

      每组以左括号开始的捕获组,都紧跟?, 而后才是正则表达式.

      对于时间字符串: 2020-11-06, 表达式如下:

      (?<year>\d{4})-(?<md>(?<month>\d{2})-(?<day>\d{2}))

    有4个命名捕获组, 分别是:

    编号 名称 捕获组 匹配
    0 0 (?<year>\d{4})-(?<md>(?<month>\d{2})-(?<day>\d{2})) 2020-11-06
    1 year (?<year>\d{4}) 2020
    2 md

    (?<md>(?<month>\d{2})-(?<day>\d{2}))

    11-06
    3 month (?<month>\d{2}) 11
    4 day (?<day>\d{2}) 06
  • 相关阅读:
    K-lord #1
    P1220 关路灯 (区间DP)
    P1136 迎接仪式 (动态规划)
    P1063 能量项链 (区间DP)
    444 D. Ratings and Reality Shows
    P1896 [SCOI2005]互不侵犯King
    P1841 [JSOI2007]重要的城市
    P1134 阶乘问题
    P1414 又是毕业季II
    P1450 [HAOI2008]硬币购物
  • 原文地址:https://www.cnblogs.com/keystone/p/13937300.html
Copyright © 2020-2023  润新知