美文网首页
正则表达式-零宽断言

正则表达式-零宽断言

作者: Mr_Normal | 来源:发表于2017-08-25 17:21 被阅读0次
代码 功能
(?=exp) 匹配后面是exp的位置
(?<=exp) 匹配前面是exp的位置
(?!exp) 匹配后面跟的不是exp的位置
(?<!exp) 匹配前面不是exp的位置

零宽

零宽说的是这个表达式不匹配任何字符,只匹配一个位置

断言

我要匹配的字符串一定要满足这个条件

一下采用python的re模块举几个例子帮助理解

(?=exp)

text = '1taylor2 3swift4'
s = re.findall(r'[a-z]+(?=3)', text)
print(s)
------
['taylor']

大白话: 我要匹配这样的字符串,它由小写字母构成,并且他后面跟着一个3

(?<=exp)

text = '1taylor swift2'
s = re.findall(r'(?<=\b)[a-z]+', text)
print(s)
------
['swift']

匹配前面为\b 的小写英文单词

(?!exp)

text = 'I dont give a shit.'
s = re.findall(r'\w+(?!\.)', text)
print(s)
------
['I', 'dont', 'give', 'a', 'shi']

匹配的字符串后面不能有.

(?<!exp)

text = 'dragon1 dragon2'
s = re.findall(r'(?<!\s)\w+', text)
print(s)
------
['dragon1', 'ragon2']

匹配前面不是空白符的单词


Reference:deerchao

相关文章

  • Java学习笔记 - 第026天

    每日要点 正则表达式 例子1:零宽正向先行断言、零宽负向先行断言、零宽正向后行断言、零宽负向后行断言 异常 自定义...

  • CocosCreator3.x开发笔记8: Invalid re

    在iOS下运行报错,是因为正则不支持 因为ios不支持零宽断言 什么是零宽断言? 粗略总结:零宽断言是正则表达式中...

  • 浅谈正则表达式(中)

    本节我们继续接着浅谈正则表达式(上)来讲正则表达式的其他使用。 零宽断言 断言:俗话的断言就是“我断定什么什么”,...

  • 正则表达式 学习

    参考:正则表达式30分钟入门教程 元字符 字符转义 分枝条件 分组 向后引用 零宽断言 负向零宽断言 贪婪和懒惰 ...

  • 正则表达式的先行断言(lookahead)和后行断言(lookb

    正则表达式的先行断言和后行断言一共有4种形式:(?=pattern) 零宽正向先行断言(zero-width po...

  • 零宽断言

    零宽度正预测先行断言 格式:(? = exp )解释: ? 是待处理的字符串 ?后面能匹配表达式 例子? 表达...

  • 零宽断言

    今天我们来讲一下正则 零宽断言还有其他的名称,例如"环视"或者"预搜索","预查" 等等 作用: 作用是给指定位置...

  • 正则表达式-零宽断言

    零宽 零宽说的是这个表达式不匹配任何字符,只匹配一个位置 断言 我要匹配的字符串一定要满足这个条件 一下采用pyt...

  • 正则表达式零宽断言

    在使用正则表达式时,有时我们需要捕获的内容前后必须是特定内容,但又不捕获这些特定内容的时候,零宽断言就起到作用了。...

  • 正则表达式-零宽断言

    捕获### (exp):匹配并且捕获exp表达式的内容,捕获内容存档在全局变量$1-$99里面。(?e...

网友评论

      本文标题:正则表达式-零宽断言

      本文链接:https://www.haomeiwen.com/subject/sjfpdxtx.html