概念
断言: 就是说正则可以指明在指定的内容的前面或后面会出现满足指定规则的内容。
零宽: 代表断言是一个占位符,并不会在查找结果中输出。
实例
使用的测试原文如下:
<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
结束
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)