当前位置: 首页 > news >正文

正则表达式的零宽断言

概念

断言: 就是说正则可以指明在指定的内容的前面或后面会出现满足指定规则的内容。
零宽: 代表断言是一个占位符,并不会在查找结果中输出。

实例

使用的测试原文如下:

<w:t>测试1</w:t> 
<span>测试1</span>

1. 正向先行断言

语法:(?=pattern)
作用: 返回pattern之前的内容。
获取</w:t>标签之前的内容,正则表达式为:

.*(?=</w:t>)

匹配到的结果为:

<w:t>测试1

2. 正向后行断言

语法:(?<=pattern)
作用: 返回pattern之后的内容。
获取<w:t>后面的内容,正则表达式为:

(?<=<w:t>).*

匹配到的结果为:

测试1</w:t>

匹配标签中间的内容,正则表达式为:

(?<=<w:t>).*(?=</w:t>)

匹配到的结果为:

测试1

3. 负向先行断言

语法:(?!pattern)
作用: 返回非pattern之前的内容。
匹配</span>之前的“测试1”,而非</w:t>之前的“测试1”,正则表达式为:

测试1(?!</w:t>)

4. 负向后行断言

语法:(?<!pattern)
作用: 返回非pattern之后的内容。
匹配<span>之后的“测试1”,而非<w:t>之后的“测试1”,正则表达式为:

(?<!<w:t>)测试1

结束

相关文章:

  • 如何在Qt中使用zlib
  • 如何在程序中解析获取word文档(docx格式)的文本内容
  • QFormLayout布局该什么时候使用
  • Qt判断文件类型 QMimeType
  • 在qmake中定义子项目的编译顺序(依赖关系)
  • lua面向对象-----继承的实现
  • 使用Qt实现阿里云API签名
  • 我的艰难生活
  • 在 Motorola 手机中,播放声音的注意点
  • 关于 Motorola E680 手机切出时如何关闭音乐的一些说明
  • 手机键盘键值表
  • 即将毕业的计算机专业学生,你要工作吗?
  • 如何正确的使用Timer的schedule()方法?
  • 一些小的经验积累
  • Struts入门经验
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 【翻译】babel对TC39装饰器草案的实现
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Akka系列(七):Actor持久化之Akka persistence
  • Apache Zeppelin在Apache Trafodion上的可视化
  • conda常用的命令
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • Date型的使用
  • ES6--对象的扩展
  • input的行数自动增减
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • ng6--错误信息小结(持续更新)
  • React Native移动开发实战-3-实现页面间的数据传递
  • 从零搭建Koa2 Server
  • 从零开始学习部署
  • 高度不固定时垂直居中
  • 机器学习 vs. 深度学习
  • 正则表达式-基础知识Review
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • (3)(3.5) 遥测无线电区域条例
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (C语言)二分查找 超详细
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (黑马C++)L06 重载与继承
  • (顺序)容器的好伴侣 --- 容器适配器
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (五)Python 垃圾回收机制
  • (转)Sublime Text3配置Lua运行环境
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .Net 6.0 处理跨域的方式
  • .net mvc 获取url中controller和action
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .NET处理HTTP请求
  • .NET多线程执行函数
  • /var/spool/postfix/maildrop 下有大量文件
  • [20181219]script使用小技巧.txt
  • [Android Pro] Notification的使用
  • [Android]一个简单使用Handler做Timer的例子
  • [AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存