python 正则匹配(零宽断言)
2017-12-09 18:40
162 查看
使用小括号的时候,还有很多特定用途的语法。下面列出了最常用的一些:
比如对于一个字符串:”finished going done doing”,我们希望匹配出其中的以ing结尾的单词,就可以使用零宽断言:
这里正则中使用的
http://blog.csdn.net/dnxbjyj/article/details/70946508
https://www.cnblogs.com/linux-wangkun/p/5978462.html
1.零宽断言
有时候在使用正则表达式做匹配的时候,我们希望匹配一个字符串,这个字符串的前面或后面需要是特定的内容,但我们又不想要前面或后面的这个特定的内容,这时候就需要零宽断言的帮助了。所谓零宽断言,简单来说就是匹配一个位置,这个位置满足某个正则,但是不纳入匹配结果的,所以叫“零宽”,而且这个位置的前面或后面需要满足某种正则。比如对于一个字符串:”finished going done doing”,我们希望匹配出其中的以ing结尾的单词,就可以使用零宽断言:
import re s = 'finished going done doing' p = re.compile(r'\b\w+(?=ing\b)') print [x + 'ing' for x in re.findall(p,s)] ['going', 'doing']
这里正则中使用的
(?=ing\b)就是一种零宽断言,它匹配这样一个位置:这个位置有一个’ing’字符串,后面跟着一个’\b’符号,并且这个位置前面的字符串满足正则:
\b\w+,于是匹配结果就是:
['go','do']
http://blog.csdn.net/dnxbjyj/article/details/70946508
https://www.cnblogs.com/linux-wangkun/p/5978462.html
相关文章推荐
- Python-正则零宽断言及命名捕获(类PHP)
- 正则表达式匹配不包含特殊子串的字符串(零宽断言的使用)
- 正则表达式 零宽断言 负向零宽断言 平衡组/递归匹配
- Python正则表达式中的 零宽断言 …
- python正则表达式的零宽断言
- 正则表达式(二) - 零宽断言与懒惰匹配以及平衡组
- php学习第四章:正则表达式(四)匹配规则:分组、环视(零宽断言和负向零宽断言)
- 正则表达式-- 零宽断言与懒惰匹配以及平衡组
- python 正则表达式匹配次数 findall 用法
- Python正则表达式的常用匹配用法
- 正则表达式零宽断言使用
- python 正则表达式匹配字符串末尾的错误
- JAVASCRIPT 正则表达式学习-->基础与零宽断言(转自司徒正美)
- PyCon 2011 - Hidden Treasures of the Python Standard Library - 邮件地址正则表达式匹配
- python解析json串与正则匹配对比
- python3 正则匹配 re.split,re.finditer,re.findall 方法
- python之正则表达式匹配全部findall()方法
- Python正则表达式匹配日期与时间
- python正则匹配目录、文件名
- Python-同时匹配邮箱和电话号码的正则表达式