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代表第二个子表达式,以此类推...

  • 相关阅读:
    E-R图转换成关系模型
    折叠表格
    ICE在Linux下的安装
    yum 安装gcc
    dll和so文件区别与构成
    linux进入图形界面的方法
    ACE vs Boost: Singleton的实现
    ACE与ASIO之间关于Socket编程的比较
    Linux 下编译安装ACE时遇到的问题及解决
    Linux下安装、配置ACE
  • 原文地址:https://www.cnblogs.com/changlezhong/p/9118688.html
Copyright © 2011-2022 走看看