python中的re模块中的向后引用和零宽断言

1.后向引用
pattern = re.compile(r"(\w+)")#['hello', 'go', 'go', 'hello']
# pattern = re.compile(r"\b(\w+)\b\s+\b")#['hello', 'go', 'go']
# pattern = re.compile(r"\b(\w+)\b\s+\1\b")#['go'] 匹配重复的单词
str = 'hello hello go go come come go go hello hello'
pattern = re.compile(r"\b(?P<word>\w+)\b\s+(?P=word)\b")
print(re.findall(pattern,str))
2.零宽断言
str = "I'm singing while you're dancing."
pattern = re.compile(r"\b\w+(?=ing\b)")#(?=exp)匹配exp前面的位置
print(re.findall(pattern,str))#['sing', 'danc']
str = 'reading a book'
pattern = re.compile(r"(?<=\bre)\w+\b")#(?<=exp)匹配exp后面的位置
print(re.findall(pattern,str))#['ading']
str = '123,456,789'
pattern = re.compile(r"(?<=,)?(\d+)(?=,)?")#匹配以逗号相隔的数字
print(re.findall(pattern,str))#['123','456','789']
3.负向零宽断言
str = '<span> hello world </span>'
pattern = re.compile(r"(?<=<(\w{4})>)(.*)(?=<\/\1>)")
print(re.findall(pattern,str))#[('span','hello world')]
python中的re模块中的向后引用和零宽断言的更多相关文章
- Python爬虫学习(4): python中re模块中的向后引用以及零宽断言
使用小括号的时候,还有很多特定用途的语法.下面列出了最常用的一些: 表4.常用分组语法 分类 代码/语法 说明 捕获 (exp) 匹配exp,并捕获文本到自动命名的组里 (?<name>e ...
- 从零宽断言说起到用python匹配html标签内容
版权声明:本文为博主原创文章,转载请附带原文网址http://www.cnblogs.com/wbchanblog/p/7411750.html ,谢谢! 提示:本文主要是讲解零宽断言,所以阅读本文需 ...
- $python正则表达式系列(5)——零宽断言
本文主要总结了python正则零宽断言(zero-length-assertion)的一些常用用法. 1. 什么是零宽断言 有时候在使用正则表达式做匹配的时候,我们希望匹配一个字符串,这个字符串的前面 ...
- Python正则表达式进阶-零宽断言
1. 什么是零宽断言 有时候在使用正则表达式做匹配的时候,我们希望匹配一个字符串,这个字符串的前面或后面需要是特定的内容,但我们又不想要前面或后面的这个特定的内容,这时候就需要零宽断言的帮助了.所谓零 ...
- nodejs中的fs模块中的方法
nodejs中的fs模块 引入模块 const fs =require("fs") 检测文件是否存在fs.stat(path,callback) fs.stat("./n ...
- python学习笔记013——模块中的私有属性
1 私有属性的使用方式 在python中,没有类似private之类的关键字来声明私有方法或属性.若要声明其私有属性,语法规则为: 属性前加双下划线,属性后不加(双)下划线,如将属性name私有化,则 ...
- sklearn中的metrics模块中的Classification metrics
metrics是sklearn用来做模型评估的重要模块,提供了各种评估度量,现在自己整理如下: 一.通用的用法:Common cases: predefined values 1.1 sklearn官 ...
- 在vue组件中访问vuex模块中的getters/action/state
store的结构: city模块: 在各模块使用了命名空间的情况下,即 namespaced: true 时: 组件中访问模块里的state 传统方法: this.$store.state['模块名' ...
- 一、SAP中添加一个模块到收藏夹后,显示事务代码
一.在SAP中,如果添加一个模块到收藏夹,默认是看不到事务代码的,如图: 二.我们在附件->设置中勾选显示技术名称 三.保存之后,就会显示出事务代码,如图所示: 不忘初心,如果您认为这篇文章有价 ...
随机推荐
- redhat vi 命令
转载:http://www.cnblogs.com/zhanglong0426/archive/2010/10/07/1845268.html http://blog.sina.com.cn/s/bl ...
- javascript学习之this
转自:https://www.cnblogs.com/pssp/p/5216085.html 例子1: function a(){ var user = "追梦子"; conso ...
- sencha touch 开发环境搭建(视频)
图文文章参见: http://www.cnblogs.com/mlzs/p/3420900.html 视频共享链接 百度:http://pan.baidu.com/s/1mg5DpS8
- Oracle中V$SESSION等各表的字段解释,Oracle官方解释
一.常用的视图 1.会话相关视图 View Description V$PROCESS Contains information about the currently active processe ...
- 2-3 vue配置介绍
一.通过vue-cli构建的项目的文件介绍 1.bulid文件夹 ==> 项目打包的配置文件夹 2.config文件夹 ==> 打包的配置 3.src文件夹 ==> 项目开发的源码 ...
- Sass::SyntaxError related to active_admin/mixins
in active_admin.css.sass, change: @import "active_admin/mixins"; @import "active_admi ...
- C# 创建txt文本
1.创建txt文本 /// <summary> /// log日志,txt的 /// </summary> /// <param name="Log1" ...
- 关于VMware虚拟机磁盘收缩的几种方法
VMware虚拟机在使用过程中,随着软件和数据的增多,虚拟磁盘占用的硬盘空间会逐渐增大,但删除数据后,却不会自动减小占用的物理硬盘空间 而是继续占用相应大小.如果需要解决上面的问题,就需要收缩wmwa ...
- 阿里云liunx-ubuntu安装中文
ubuntu安装中文支持--让你的ub真正变成中文作者: 来源:ubuntu在安装的时候会提示选择语言,但选择了中文之后,系统里面还有很多英文并不是ub对中文支持不好 你根本就没有安装中文支持~ 首先 ...
- php时间戳和日期转换,以及时间戳和星期转换
$this->created_at为时间戳值,转换日期如下 date('m.d',$this->created_at) : y 代表年的后两位如 17 ,Y 代表 2017 , m 代 ...