zoukankan      html  css  js  c++  java
  • 正则表达式中的小括号用法

    小括号中的连续字符作为可选:

    "Nov" -match "Nov(ember)?"  返回true   

    "November" -match "Nov(ember)?"   返回true   

    正则表达式中的小括号的作用是对字符进行分组,并保存匹配的文本。与位于小括号之间的模式匹配的内容都会被捕获

    "92/01/2009Description"  -match "^(d)(d)" 

    返回值为9 ,2

    当小括号中的内容不是想捕获的对象时,即小括号的内容不作为捕获对象,采用非捕获小括号可以提高匹配效率。

    "92/01/2009Description"  -match "^(d)(?:d)"

    返回值为9

    "92/01/2009Description"  -match "^(?:d)(?:d)"

    返回 92

    为每个子表达式定义名称:

    "92/01/2009Description"  -match "^(?<first>d)(?<second>d)" 

    $matches.first   #返回9

     

    ()小括号就是括号内看成一个整体 ,将基本的单元合成一个大的单元。括号匹配字符串,并记住匹配结果,匹配结果则保存在结果数组中。如果只是用它来做分组,方法是在左括号的后边加上:?,这里第一个圆括弧只是用来分组,而不会占用捕获变量。

    中括号就是匹配括号内的其中一个。

    大括号就是匹配几次

    | 表示 或    例:"Bob and Ted" -match "Alice|Bob"  返回true    

             "Peter and Bob" -match "and (Bob|Willy)"  返回true   

  • 相关阅读:
    BZOJ3732: Network
    BZOJ2705: [SDOI2012]Longge的问题
    BZOJ3712: [PA2014]Fiolki
    BZOJ3709: [PA2014]Bohater
    BZOJ3668: [Noi2014]起床困难综合症
    CoderForces985F-Isomorphic Strings
    CodeForces985C-Liebig's Barrels
    Open-Pit Mining
    Multiplication Game
    象棋
  • 原文地址:https://www.cnblogs.com/dreamer-fish/p/3944945.html
Copyright © 2011-2022 走看看