正则表达式与Python中re模块的使用 最近做了点爬虫,正则表达式使用的非常多,用Python做的话会用到re模块. 本文总结一下正则表达式与re模块的基础与使用. 另外,给大家介绍一个在线测试正则表达式的神器网站:http://tool.chinaz.com/regex 大家可以去这里练习正则表达式 正则表达式 使用场景 关于正则表达式的基本概念这里就不赘述了,大家可以去各种百科里查找它的定义.正则的使用场景主要分为两个: 一是:检测某一段字符串是否符合规则,也就是我们常说的"校验"…
正则表达式是一种通用的字符串匹配技术,不会因为编程语言不一样而发生变化. 部分常用正则表达式规则介绍: . 匹配任意的一个字符串,除了\n * 匹配任意字符串0次或者任意次 \w 匹配字母.数字.下划线 \W 匹配非字母.数字.下划线 \d 匹配数字 \D 匹配非数字 {m} [abc] 匹配[]中的任意一个字符 贪婪模式: {2,}匹配至少2次 {,2}匹配最多2次 {2,4}匹配2-4次 + 匹配1次或任意次 ?匹配0次或者1次,非贪婪模式 元字符+限定符 边界:^开头           …
正则表达式 正则表达式30分钟入门教程 runoob正则式教程 正则表达式练习题集(附答案) 元字符\b代表单词的分界处,在英文中指空格,标点符号或换行 例子:\bhi\b可以用来匹配hi这个单词,且不会匹配到him,china或sushi. 注意\b并不匹配任何字符,它只匹配一个位置 元字符.代表除了换行符以外的任意字符 元字符*代表数量:它指定*前边的内容可以连续重复使用任意次以使整个表达式得到匹配 另一个指代数量的方式是:{n},这里的n可以填入任何数字,代表前面内容的重复次数,比如两个数…
正则表达式独立与编程语言,基本上所有的编程语言都实现了正则表达式的相关操作.在Python中正则表达式的表现为re模块: import re 其操作有三个方法: my_string = "hello world" re.findall("o",my_string)                           #搜索范围为整个my_string,同时返回结果可以有多个. re.match("hel",my_string)         …
今天女票让我帮她写一个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…
一个网站,正则表达式入门的,很好 http://www.jb51.net/tools/zhengze.html 下面这个包含对python中re的介绍,也是很不错的http://www.w3cschool.cc/python/python-reg-expressions.html 正则表达式的入门,上个链接就写的很好,就不再叙述关于正则表达式的知识. 下面介绍一下python 中re模块,也就是正则表达式匹配相关的用法. 版本python 3.4.3 re.match ? 1 2 3 4 5 6…
函数 秉承着一切皆对象的理念,函数作为对象,可以为其赋值新的对象名,也可以作为参数传递给其他函数! 正常的诸如空函数,默认参数等等我们就不提了,在这里着重提一下默认参数里面的坑和lambda函数. 当默认参数为空list时的坑:定义一个函数,传入一个list,添加一个end后返回 >>> def func(l=[]): ... l.append('end') ... return l ... >>> 正常调用是没什么问题的: >>> func([1,2…
一直以来对python中函数括号的使用,有点分不清楚,到底什么时候用括号,什么时候不用括号,造成了很大看困惑. 今天来总结下. class aaa(): y = 'you' def __init__(self): self.y = 'me' def foo(self,aa): self.name = aa return (aa) x = aaa print("1---->",x) print("2---->",x.y) print("3----…
正则函数 match.search.findall.finditer.split.sub 返回一个对象:match.search.finditer 返回一个列表:findall.split 其中match.search与findall都有两个匹配方式:简单匹配和分组匹配 1.match 格式 match(正则表达式,字符串,标志位) match( r'xxx' , str , flags = 0 ) 一般只用到了前两个参数 match( r'XXX' , str ) flags(标志位)用于修改…
一.常用符号 . :匹配任意字符,换行符\n除外   * :匹配前一个字符0次或无限次    ? :匹配前一个字符0次货1次 .* :贪心算法 .*? :非贪心算法 () :括号内的数据作为结果返回 二.常用方法 findall:匹配所有符合规律的内容,返回包含结果的列表 Search:匹配并提取第一个符合规律的内容,返回一个正则表达式对象(object) Sub :替换符合规律的内容,返回替换后的值 三.代码示例 1 # coding=utf-8 2 import re 3 secret_co…