zoukankan      html  css  js  c++  java
  • 第八章:回溯引用,前后一致匹配

    8.1 回溯引用匹配

     例子:匹配文本中标题标签及内容

      文本:

        <h1>hello world</h1>hello world<h2>hello world</h2>

        hello world

        <h2>hello world</h2>

        hello world

        <h3>hello world</h1>

      正则表达式:

        <[hH][1-6]>.*</[hH][1-6]>

      结果:

        <h1>hello world</h1>hello world<h2>hello world</h2>

        hello world

        <h2>hello world</h2>

        hello world

        <h3>hello world</h1>

      分析:

        问题1:之前提到过的.*为贪婪型,需要使用懒惰型(.*?进行匹配) 

        问题2:文本中存在前后不一致的标题标签,这是不需要匹配的

      正确的正则表达式:

        <[hH]([1-6])>.*?</[hH]1>

      结果:

        <h1>hello world</h1>hello world<h2>hello world</h2>

        hello world

        <h2>hello world</h2>

        hello world

        <h3>hello world</h1>

    追溯引用指的是模式的后半部分引用在前半部分中定义的子表达式,你可以把回溯引用想象成变量。1代表的是模式中第一个子表达式,2代表第二个子表达式,以此类推...

  • 相关阅读:
    定时机制
    选择排序
    二分插入排序
    无名管道pipe
    Makefile
    Python下划线与命名规范
    Django IDE 开发环境的搭建
    Apache如何添加虚拟目录
    在Eclipse下如何安装插件
    Python的模块、包等概念的理解
  • 原文地址:https://www.cnblogs.com/changlezhong/p/9118688.html
Copyright © 2011-2022 走看看