zoukankan      html  css  js  c++  java
  • 命名分组(?<name>....)

    捕获组分为:

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

    普通捕获组

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

    对于时间字符串:2017-04-25,表达式如下

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

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

    编号捕获组匹配
    0 (d{4})-((d{2})-(d{2})) 2017-04-25
    1 (d{4}) 2017
    2 ((d{2})-(d{2})) 04-25
    3 (d{2}) 04
    4 (d{2}) 25
     

    命名捕获组

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

    对于时间字符串:2017-04-25,表达式如下:

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

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

    编号名称捕获组匹配
    0 0 (?d{4})-(?(?d{2})-(?d{2})) 2017-04-25
    1 year (?d{4})- 2017
    2 md (?(?d{2})-(?d{2})) 04-25
    3 month (?d{2}) 04
    4 date (?d{2}) 25

    命名的捕获组同样也可以使用编号获取相应值。

     
  • 相关阅读:
    配置Log4j(非常具体)
    System.Net.WebClient.cs
    Code:获取指定汉字的首字母
    DBS:目录
    Jasper:推送 API
    Jasper-template
    Code:Base64 编码/解码
    DCloud-HTML5+:5+ App开发入门指南
    DCloud-HTML5+:barcode
    Nuget-QRCode:QRCoder
  • 原文地址:https://www.cnblogs.com/mol1995/p/10927146.html
Copyright © 2011-2022 走看看