zoukankan      html  css  js  c++  java
  • 正则表达式之圆括号(转)

    1.圆括号有什么用?

     正则表达式中的圆括号有两种功能:一是表示分组;二是表示可选择性。

    2.使用圆括号分组

    园括号定义了一个组,这个组模式匹配的内容会被捕获并指定给变量,变量的编号会按照模式中圆括号出现的次序依次进行。

    A22  33

    ((\w(\d{2}))(()(\d{2})))

    在Komodo Regular Expression Toolkit中

    Group Match Variables

    Variable                     Value

    $1                              A22  33

    $2                              A22

    $3                              22

    $4                                33

    $5                           

    $6                              33

    3.可选择性

    根据可以选择的情况建立支持二选一或多选一的应用,涉及到使用圆括号和|元字符(有时候称为吧(bar)字符)——后者用于表示逻辑或的意思。

    (gray|grey)或者gr(a|e)y 也可用字符类,gr[ea]y  使用字符类来代替选择通常会提高匹配效率

    (Doctor|Dr|Dr\.)      (Doctor|Dr\.?)

    不平衡的交替选择  (a|ab)  修改为 (ab|a)

    4.非捕获的圆括号

    (?:the-non-captured-content)  当在圆括号后面放置一个问号和一个冒号是,相应的这对圆括号就不会再捕获内容了。

    减少要处理的组数,利于编程

    Doctor  Firstname LastName

    Dr Firstname LastName

    Dr. Firstname LastName

    (Doctor|Dr|Dr.)(\s\w{1,}\s)(\w{1,})  改为  (Doctor|Dr|Dr.)(?:\s\w{1,}\s)(\w{1,}) 

    5.反向引用 back references    backreferences

    检测重复单词 \<([A-Za-z])  +\1\>

  • 相关阅读:
    R语言基础入门
    调用arcpy包批量进行矢量掩膜提取
    一些js面试高频知识点的总结
    js实现五子棋人机对战源码
    编程题汇总,持续更新
    颜色字符串转换
    根据包名,在指定空间中创建对象
    JavaScript中[]+[] 、[]+{}、{}+[]、{}+{}的结果分析
    CSS命名规范
    谈谈浏览器的兼容性
  • 原文地址:https://www.cnblogs.com/BobSky/p/3116597.html
Copyright © 2011-2022 走看看