python re findall 效率_python re模块findall()详解

今天写代码,在写到郑泽的时候遇到了一个坑,这个坑是re模块下的findall()函数。

下面我将结合代码,记录一下

importre

string="abcdefg acbdgef abcdgfe cadbgfe"

#带括号与不带括号的区别#不带括号

regex=re.compile("((\w+)\s+\w+)")

print(regex.findall(string))

#输出:[('abcdefg acbdgef', 'abcdefg'), ('abcdgfe cadbgfe', 'abcdgfe')]

regex1=re.compile("(\w+)\s+\w+")

print(regex1.findall(string))

#输出:['abcdefg', 'abcdgfe']

regex2=re.compile("\w+\s+\w+")

print(regex2.findall(string))

#输出:['abcdefg acbdgef', 'abcdgfe cadbgfe']

第一个 regex 中是带有2个括号的,我们可以看到其输出是一个list 中包含2个 tuple

第二个 regex 中带有1个括号,其输出的内容就是括号匹配到的内容,而不是整个表达式所匹配到的结果。

第三个 regex 中不带有括号,其输出的内容就是整个表达式所匹配到的内容。

无括号:字母或数字或下划线+空白+字母或数字或下划线+,所以分成了俩组

一个括号:在无括号的基础上,匹配 字母或数字或下划线(后面是字母或数字或下划线+)

俩个括号:在无括号的基础上,先分俩组,再在里面括号基础上查到第二组内容,整体分组组成元组,放到列表中

结论:findall()返回的是括号所匹配到的结果(如regex1),多个括号就会返回多个括号分别匹配到的结果(如regex),如果没有括号就返回就返回整条语句所匹配到的结果(如regex2)。所以在提取数据的时候就需要注意这个坑。

实际上是由其并不是python特有的,这是 正则 所特有的 , 任何一门高级语言使用正则都满足这个特点:有括号时只能匹配到括号中的内容,没有括号【相当于在最外层增加了一个括号】。在正则里面 “()” 代表的是分组的意思,一个括号代表一个分组,你只能匹配到"()"中的内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396429.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu16.04配置sonarqube+MySQL

环境:rootubuntu:~# uname -a Linux ubuntu 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux rootubuntu:~# rootubuntu:~# cat /etc/issue Ubuntu 16.04 LTS \n \lrootubuntu:~#安装配置mysql:1、更新源…

mysql 多表混全_mysql--浅谈多表查询1

这是对自己学习燕十八老师mysql教程的总结,非常感谢燕十八老师。依赖软件:mysql5.6系统环境:win连接查询在谈连接查询之前我们需要对数学上的笛卡尔积有一定的了解现在有两个集合m和nm (m1,m2,.....mx)n (n1,n2,.....ny)m*n得到的笛卡尔积有…

鼠标固定在屏幕中间_无线电竞黑科技,雷柏VT950Q游戏鼠标评测

雷柏作为目前小有声誉的PC外设品牌,其定位高性能游戏领域的VT系列产品,想必大家也比较熟悉了。VT系列的产品除了有超强的性能以及出色的设计感,同时还都是性价比非常高的产品,即便是采用了旗舰级传感器,定位最为高端的…

谈论源码_5,000名开发人员谈论他们的薪水

谈论源码Let’s dive into the most interesting results from the O’Reilly 2016 Salary Survey of 5,000 developers (which excluded managers and students).让我们来看看OReilly 2016年薪金调查对5,000名开发人员(其中不包括经理和学生)最有趣的结果。 性别工资差距是真…

WebSnapshotsHelper(HTML转换为图片)

1 /// <summary>2 /// WebBrowser Url生成图片3 /// HTML转图片4 /// </summary>5 public class WebSnapshotsHelper6 {7 Bitmap m_Bitmap;8 string m_Url;9 int m_BrowserWidth, m_BrowserHeight, m_ThumbnailWidth,…

两个多项式相乘求解系数数组算法

题目描述&#xff1a; 给出两个多项式&#xff0c;最高次幂分别为n和m&#xff0c;求解这两个系数相乘得到的系数数组。 分析&#xff1a; 最高次幂如果是m和n&#xff0c;那么他们相乘得到的系数数组的最高次幂一定是nm&#xff0c;对于其他的系数&#xff0c;不妨设a[],b[]是…

synchronized 和 reentrantlock 区别是什么_JUC源码系列之ReentrantLock源码解析

目录ReentrantLock 简介ReentrantLock 使用示例ReentrantLock 与 synchronized 的区别ReentrantLock 实现原理ReentrantLock 源码解析ReentrantLock 简介ReentrantLock 是 JDK 提供的一个可重入的独占锁&#xff0c;独占锁&#xff1a;同一时间只有一个线程可以持有锁可重入&am…

gulp 和npm_为什么我离开Gulp和Grunt去看npm脚本

gulp 和npmI know what you’re thinking. WAT?! Didn’t Gulp just kill Grunt? Why can’t we just be content for a few minutes here in JavaScript land? I hear ya, but…我知道你在想什么 WAT &#xff1f;&#xff01; 古尔普不是杀死了咕unt吗&#xff1f; 为什么…

mysql8.0递归_mysql8.0版本递归查询

1.先在mysql数据库添加数据DROP TABLE IF EXISTS dept;CREATE TABLE dept (id int(11) NOT NULL,pid int(11) DEFAULT NULL,name varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,date datetime(0) DEFAULT NULL,PRIMARY KEY (id) USING BTREE) ENGINE…

js 轮播插件

flexslider pc插件 个人用过flickerplate 移动端插件 个人用过个人觉得比较好的移动端插件swiper http://www.swiper.com.cn/ 用过个人觉得比较好的pc端插件待定

计算机中的字符编码

字符编码 什么是计算机编码 计算机只能处理二进制的数据&#xff0c;其它的数据都要进行转换&#xff0c;但转换必须要有一套字符编码(是字符与二进制的一个对应关系)。常用的字符&#xff1a;a-z、0-9、其它的符号等&#xff0c;计算机也不能直接处理。 &#xff08;字符编码类…

致力微商_致力于自己。 致力于公益组织。

致力微商by freeCodeCamp通过freeCodeCamp 致力于自己。 致力于公益组织。 (Commit to Yourself. Commit to a Nonprofit.) In case you missed it, our October Summit was jam-packed with several big announcements about our open source community.如果您错过了它&#…

应急照明市电检测_应急照明如何供电? 如何接线? 图文分析!

对于大部分刚接触建筑电气设计的工作者来说&#xff0c;应急照明的强启原理一直都是很头疼的问题。由于不知道应急照明的强启原理&#xff0c;所以&#xff0c;应急灯具应该用多少根线&#xff0c;其实也就无从谈起。下面以文字和图片结合的方式来说明应急灯怎么接线的&#xf…

win10网速慢

升级到win10之后发现网速特别慢&#xff0c;搜了下&#xff0c;网上的解决办法果然好使&#xff0c;按照如下操作即可。 返回桌面&#xff0c;按WINR键组合&#xff0c;运行gpedit.msc 打开组策略 依次展开管理模板-》网络-》QoS数据计划程序-》限制可保留宽带&#xff0c;双击…

ubuntu安装nodejs

下载nodejs https://nodejs.org/dist/v4.6.0/node-v4.6.0-linux-x64.tar.gz 解压 tar -zxvf node-v4.6.0-linux-x64.tar.gz 移动到/opt/下 mv node-v4.6.0-linux-x64 /opt/ 创建链接 ln -s /opt/node-v4.6.0-linux-x64/bin/node /usr/local/bin/node 转载于:https://www.cnblog…

android实用代码

Android实用代码七段&#xff08;一&#xff09; 前言 这里积累了一些不常见确又很实用的代码&#xff0c;每收集7条更新一次&#xff0c;希望能对大家有用。 声明 欢迎转载&#xff0c;但请保留文章原始出处:)     博客园&#xff1a;http://www.cnblogs.com 农民伯伯&…

mysql 全文本检索的列_排序数据列以检索MySQL中的最大文本值

为此&#xff0c;您可以将ORDER BY与一些聚合函数right()一起使用。让我们首先创建一个表-create table DemoTable1487-> (-> StudentCode text-> );使用插入命令在表中插入一些记录-insert into DemoTable1487 values(560);insert into DemoTable1487 values(789);in…

关于长寿_FreeCodeCamp可以帮助您更长寿

关于长寿by Christopher Phillips克里斯托弗菲利普斯(Christopher Phillips) 免费代码营可能帮助您长寿 (Free Code Camp Might Help You Live Longer) Since I started my web development journey with Free Code Camp, I’ve felt more awake, more alert, and able to pro…

python世界你好的输出便携电源适配器_65W PD输出,Thinkplus USB-C便携电源适配器(PA65)开箱评测...

包装盒底盖面为红色&#xff0c;标注了产品的相关参数&#xff1a;型号&#xff1a;PA65&#xff1b;输入&#xff1a;100V-240V~50/60Hz 1.5A&#xff1b;输出&#xff1a;5V/3A、9V/3A、12V/3A、15V/3A、20V/3.25A&#xff1b;制造商&#xff1a;南京博兰得电子科技有限公司&…

归并排序与逆序对

在刷题的过程中碰到了关于无序序列的逆序对统计的问题。 直接暴力会超时&#xff0c;然后搜索了一下算法&#xff0c;发现可以通过归并排序的思想来做到这个统计的过程。看代码的时候&#xff0c;不知道自己的理解力不够还是不熟悉别人的代码&#xff0c;反正是看不懂。无奈之下…