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

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

     
  • 相关阅读:
    ajax的基础知识
    前端必备的php的基础知识点
    关于事件的简单汇总
    Django rest-framework(目录)
    Django(目录)
    前端(目录)
    数据库知识(目录)
    数据库基础
    并发编程(目录)
    网络编程
  • 原文地址:https://www.cnblogs.com/mol1995/p/10927146.html
Copyright © 2011-2022 走看看