版权声明:本文为sam的原创文章,转载请添加出处:http://blog.csdn.net/samed https://blog.csdn.net/samed/article/details/50555663 首先,findall有两种用法: findall(string[, pos[, endpos]]) re.findall(pattern, string[, flags]) 这里讲的是第二种,里面有一个坑. 直接上一段代码看看坑在哪里: 看到差异了吗? 这里findall如果使用了分组,则…
转自:https://blog.csdn.net/qq_42739440/article/details/81117919 下面是我在用findall匹配字符串时遇到的一个坑,分享出来供大家跳坑. 例题: 如图所示: 正则a和正则b两个式子匹配出来的结果是不同的. 那 ?: 的作用就是把捕获分组转变为非捕获分组. 什么是捕获组和非捕获组呢? (qq|163|126) ---> 这样单独的括号就为捕获组 (?:qq|163|126) ---> 这样在原有分组里加上?: 就把捕获组转变为一个非捕获…
在使用正则搜索内容时遇到一个小坑,百度搜了一下,遇到这个坑的还不少,特此记录一下. 比如说有一个字符串  "123@qq.comaaa@163.combbb@126.comasdf111@asdfcom" 想匹配出里面所有的邮箱地址,该怎么实现呢? 写了个正则,测试一下: >>> import re >>> s = "123@qq.comaaa@163.combbb@126.comasdf111@asdfcom" >>…
import rehelp(re.compile)'''输出结果为:Help on function compile in module re: compile(pattern, flags=0) Compile a regular expression pattern, returning a pattern object.通过help可知:编译一个正则表达式模式,返回一个模式对象.''' '''第二个参数flags是匹配模式,可以使用按位或’|’表示同时生效,也可以在正则表达式字符串中指定.…
Python中正则表达式 re:re是提供正则表达式匹配操作的模块 一.什么是正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某个模式匹配,Python 自1.5版本起增加了re模块,它提供Perl风格的正则表达式. 二.正则表达式的基本使用 1.re.match()介绍 match() 试图从字符串的起始位置对模式进行匹配,如果匹配成功,就返回一个匹配对象,如果匹配失败,就返回None,匹配对象的group()方法能显示成功匹配的对象. 使用语法: re.mat…
在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配. 其中,re.findall() 函数可以遍历匹配,可以获取字符串中所有匹配的字符串,返回一个列表. 在python源代码中,展示如下: 搜索string,返回一个顺序访问每一个匹配结果(Match对象)的迭代器.找到 RE 匹配的所有子串,并把它们作为一个迭代器返回. def findall(pattern, string, flags=0): 第一个参数,正则表达式 第二个参数,搜索的是那些字符串 第三个参数,匹配的…
之前一直有使用python 正则表达式来做中文字符串或者中英文数字混合的字符串的匹配,发现有不少情况下会匹配失灵或者结果混乱,并且在不同操作系统上匹配结果也不一致,查了很久都不知道是什么原因.今天终于彻底弄懂了,原来还是python中对中文的编码问题造成的. 解决办法: step1 在设置默认编码为UTF8之后,将正则表达式和待匹配字符串都decode("utf8")统一成 unicode再进行匹配: step2 正则表达式前面一定要加 r : 示例代码: kw_regexp = r'…
这次有两个主题,第一个太简单啦,就是java中变量的命名规则,纯记忆性东西.第二个主题,就是讨论一下对象引用变量的一个注意点.…
一.根据正则表达式替换字符串 import re text='abc123' text=re.sub(r'\d','-',text) print(text) 输出:abc---将每个数字替换为-,如果是\d+,则结果为abc- 二.re.split() 可以使用re.split来分割字符串,如:re.split(r'\s+', text):将字符串按空格分割成一个单词列表. 三.re.findall re.findall可以获取字符串中所有匹配的字符串.如:re.findall(r'\w*oo\…
     主要的函数有  : match() search() findall() group() groups() split()  match (): 含义  开头匹配,匹配成功返回一个对象失败则返回  none #!/usr/bin/python import re re.match('youshi','youshini') print re.match 返回的结果: [root@Cnyunwei ~]# python 1.py <function match at 0x7f19e6f6c…
一.中文是不是“字母”? 当然,看到标题你肯定想这答案是显而易见的,但是.but.问题就在这里,我也是这么想的!!!然后就被python打脸了 看下面的例子: s = '你说我是字母吗' print(s.isalpha()) 你以为他是False?不,答案是: 这个问题真是困扰了我一晚上,自己一开始使用正则去匹配的,匹配了半天发现我正则虽然只是略知皮毛,但是,这么简单的东西不会错啊,“\w”怎么就能匹配中文呢?如下: import re pattern = re.compile('^\w+$')…
列表是一种经常使用的数据类型.在函数的定义中,常常会使用列表作为参数. 比如,要测试一个接口的数据,接口返回的数据格式如下: { "code": "20000", "data": ["孙悟空","李白","甄姬"], "msg": "success", "status": 0 } 要测试的内容是:返回的 data 数据是否跟需求…
def wrapper1(func1): def inner1(): print('w1 ,before') func1() print('w1 after') return inner1 def wrapper2(func2): def inner2(): print('w2 ,before') func2() print('w2 after') return inner2 @wrapper2 # f =wrapper2(f) , func2=inner1函数 当执行完func2时, 就带表要…
2018-05-08 17:48:33 今天我编写代码碰到了一个让我纠结了很久的坑,特别想在此说一下,让其他人避免我踏过的这个坑. 这个坑就是:在我自己写的子窗口中用opener属性却获取不到父窗口的window对象. 现在已经解决这个坑,请看下文 这是父窗口(windows.html)的代码: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/htm…
在项目中遇到了一个JSON的坑.记录下. 直接上代码: import java.util.ArrayList; import com.alibaba.fastjson.JSON; public class MyList<E> extends ArrayList<E> { private int size; private String specialName; public MyList(){ super(0); } public MyList(int size){ super(0…
根据这个问题很简单就能查到一些文章明确说明了解决问题的方法,就是如下一段代码: var isModal = false; //判断该dom是否为modal var classes = $(container).attr('class'); if (classes !== undefined) { classes = classes.split(' '); for (var i = 0; i < classes.length; i++) { if (classes[i] == "modal&…
在python中使用正则表达式 1.转义符 正则表达式中的转义: '\('表示匹配小括号 [()+*/?&.] 在字符组中一些特殊的字符会现出原形 所有的\s\d\w\S\D\W\n\t都表示他原本的意义 [-]只有写在字符组的首位的时候表示普通的减号 写在其它位置的时候表示范文[1-9]如果就是想匹配减号[1\-9] Python中的转义符 分析过程: '\n'#\是转义符 赋予这个n一个特殊的意义 表示一个换行符 print('\\n') print(r'\n') 转义:python '\\…
问题背景:当我们爬取网页信息时,对于一些标签的提取是没有意义的,所以需要提取标签中间的信息. 解决办法:用到了re包下的函数 方法1:用到了research()方法和group()方法 方法2:用到了findall()方法 具体实现: import re # 匹配两个字符中间的所有字符 a = '<p>life is short, i use python<a/>i love it<p>' r = re.search('<p>(.*)<a/>(.…
今天女票让我帮她写一个js中的正则,来提取电话号码,对于正则规则来说,js与python是基本没有区别的,重点的区别是在一些函数与方法中. python中的正则提取: import re str = 'asfasdfgasffas青蛙无法·啊沙发上,.,从 dw2efdrqw15894648760asfasf' \ 'asf,./asf029-81464970jhklasdnf,wsdn15888888888' patt = '1[3,5,8,7]\d{9}|0\d{2}-\d{8}' data…
在Python中,ElementTree是我们常用的一个解析XML的模块 1.导入ElementTree模块 from xml.etree import ElementTree as ET 2.初始化一个ElementTree类.初始化ElementTree类常用两种方式:一种通过xml文件,一种通过字符串. #通过xml文件初始化,test.xml是根文件夹的一个xml文件 myET=ET.parse("test.xml") #通过字符串初始化 xml="<xml&g…
本文对应脚本及数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 一.简介 词云图是文本挖掘中用来表征词频的数据可视化图像,通过它可以很直观地展现文本数据中地高频词: 图1 词云图示例 在Python中有很多可视化框架可以用来制作词云图,如pyecharts,但这些框架并不是专门用于制作词云图的,因此并不支持更加个性化的制图需求,要想创作出更加美观个性的词云图,需要用到一些专门绘制词云图的第三方模块,本文就将针对其…
1. 过滤函数filter 定义:filter 函数的功能相当于过滤器.调用一个布尔函数bool_func来迭代遍历每个列表中的元素:返回一个使bool_func返回值为true的元素的序列. a=[0,1,2,3,4,5,6,7] b=filter(None, a) print b 输出结果:[1, 2, 3, 4, 5, 6, 7] 2. 映射和归并函数map/reduce 这里说的map和reduce是Python的内置函数,不是Goggle的MapReduce架构. 2.1 map函数…
作者:達聞西链接:https://zhuanlan.zhihu.com/p/24162430来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 5.2.4 函数.生成器和类 还是从几个例子看起: def say_hello(): print('Hello!') def greetings(x='Good morning!'): print(x) say_hello() # Hello! greetings() # Good morning! greetings("Wh…
说完常用的数据类型,再来说下运算符.运算符用于将各种类型的数据进行运算,让静态的数据跑起来. 编程语言中的运算大致分为以下几个大类: 算术运算, 用于加减乘除等数学运算 赋值运算,用于接收运算符或方法调用返回的结果 比较运算, 用于做大小或等值比较运算 逻辑运算,用于做 与.或.非运算 位运算, 用于二进制运算 每种运算中所包含的符号称为相应的运算符,如 算术运算符.比较运算符等. 一.算术运算 运算(符) 说明 实例 + 两个对象相加 2 + 3 结果为 5 - 两个对象相减 3 - 2 结果…
进程和线程究竟是什么东西?传统网络服务模型是如何工作的?协程和线程的关系和区别有哪些?IO过程在什么时间发生? 一.上下文切换技术 简述 在进一步之前,让我们先回顾一下各种上下文切换技术. 不过首先说明一点术语.当我们说“上下文”的时候,指的是程序在执行中的一个状态.通常我们会用调用栈来表示这个状态——栈记载了每个调用层级执行到哪里,还有执行时的环境情况等所有有关的信息. 当我们说“上下文切换”的时候,表达的是一种从一个上下文切换到另一个上下文执行的技术.而“调度”指的是决定哪个上下文可以获得接…
python中的map函数应用于每一个可迭代的项,返回的是一个结果list.如果有其他的可迭代参数传进来,map函数则会把每一个参数都以相应的处理函数进行迭代处理.map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回. 示例一:  有一个list, L = [1,2,3,4,5,6,7,8],我们要将f(x)=x^2作用于这个list上,那么我们可以使用map函数处理. >>> L = [1,2,3,4,] >…
在python中,每个py文件都是一个模块,也都是一个可执行文件,即包含main方法.因此,对每个py文件,可以单独运行,也可以import它给其他客户使用,这两种情况不一样. 1. 如果模块是被导入,__name__的值为模块名字2. 如果模块是被执行,__name__的值为’__main__’ #hello.py def sayHello(): str="hello," print(str); if __name__ == "__main__": print (…
这会是很长的一个帖子,因为我打算从python最基础的东西开始,尝试去完全的掌握它,buildin中有一些常用的函数比如 abs, open, setattr, getattr, 大家都很了解他们的用法,因为平时用的比较多,这将把重点放在平时少用,但是有奇效的方法,比如说 enumerate, 这个方法在遍历列表和元组的时候非常有用,下面我会详细说明这类方法的用法和作用. abs(x) Help on built-in function abs in module __builtin__ abs…
1.进程池的概念 python中,进程池内部会维护一个进程序列.当需要时,程序会去进程池中获取一个进程. 如果进程池序列中没有可供使用的进程,那么程序就会等待,直到进程池中有可用进程为止. 2.进程池的内置方法 apply 从进程池里取一个进程并同步执行 apply_async 从进程池里取出一个进程并异步执行 terminate 立刻关闭进程池 join 主进程等待所有子进程执行完毕,必须在close或terminete之后 close 等待所有进程结束才关闭线程池 同步是指一个进程在执行某个…
python使用命名空间记录变量.python中的命名空间就像是一个dict,key是变量的名字,value是变量的值. python中,每个函数都有一个自己的命名空间,叫做local namespace,它记录了函数的变量.python中,每个module有一个自己的命名空间,叫做global namespace,它记录了module的变量,包括 functions, classes 和其它imported modules,还有 module级别的 变量和常量.还有一个build-in 命名空…