zoukankan      html  css  js  c++  java
  • 正则 捕获组之反向引用

    之前写正则的时候,经常用到 (.*?) 之类的用法.一般在替换的时候会用 $1 来引用括号里面匹配到的内容
    比如,

    1.1.1.1 aaaa
    2.2.2.2 bbbb
    3.3.2.3 ccca
    

    我们想在这段这文本的数字后面重复加上一个与最后一个数字相同的数字,即替换后的文本应该为

    1.1.1.11 aaaa
    2.2.2.22 bbbb
    3.3.2.33 ccca
    

    那么我们可以使用(d) 替换成 $1$1
    如图:

    这里括号里面的内容我们称之为 捕获组.
    在替换里面我们可以使用$1进行引用,同样的在查找中我们也可以引用,称之为反向引用,只不过引用的方式改为 1,它的使用方法跟替换中基本一致
    比如我们现在想把原文中同一行数字全部相同的都查找出来,那么我们可以使用反向引用来查找
    如图:

    此处我们使用了12
    在捕获组中,第一个左括号与其匹配的右括号括起来的内容即用1引用,2同理,即第二 个左括号与其匹配的右括号括起来的内容.
    在替换中也同样如此,$1 即 第一个左括号与其匹配的右括号括起来的内容

  • 相关阅读:
    asp.net 2.0 run
    Regular Expression
    assembly
    asp.net loading..
    session
    asp.net performance
    asp.net page order
    interface
    UVA 562 Dividing coins
    UVA 10003 Cutting Sticks
  • 原文地址:https://www.cnblogs.com/mysgk/p/9427269.html
Copyright © 2011-2022 走看看