复习&正则&re模块

  正则

  正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

re模块

  1.Re模块简介 re模块是python中处理正则表达式的一个模块,通过re模块的方法,把正则表达式pattern编译成正则对象,以便使用正则对象的方法 效率问题: import re import timeit print(timeit.timeit(setup=‘‘‘import re; reg = re.compile(‘<(?P<tagname>\w*)>.*</(?P=tagname)>‘)‘‘‘, stmt=‘‘‘reg.match(‘<h1>xxx</h1>‘)‘‘‘, number=1000000)) print(timeit.timeit(setup=‘‘‘import re‘‘‘, stmt=‘‘‘re.match(‘<(?P<tagname>\w*)>.*</(?P=tagname)>‘, ‘<h1>xxx</h1>‘)‘‘‘, number=1000000)) reg = re.compile(‘<(?P<tagname>\w*)>.*</(?P=tagname)>‘) reg.match(‘<h1>xxx</h1>‘) re.match(‘<(?P<tagname>\w*)>.*</(?P=tagname)>‘, ‘<h1>xxx</h1>‘) 常用方法:先申明一个正则对象,在通过正则对象去匹配。这样的效率高

  1 re.compile(pattern[, flags]) re.I(re.IGNORECASE): 忽略大小写(括号内是完整写法,下同) M(MULTILINE): 多行模式,改变‘^‘和‘$‘的行为 S(DOTALL): 点任意匹配模式,改变‘.‘的行为 L(LOCALE): 使预定字符类 \w \W \b \B \s \S 取决于当前区域设定 U(UNICODE): 使预定字符类 \w \W \b \B \s \S \d \D 取决于unicode定义的字符属性 X(VERBOSE): 详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释。以下两个正则表达式是等价的:

  Re模块的方法: match search Match从开头开始匹配,匹配不到,返回空 Search从开头开始匹配,然后第第二个开始匹配,只匹配一个结果。 Match的效率是最高的,就要求我们正则表达式要写正确 Split split(string[, maxsplit]) 按照能够匹配的子串将string分割后返回列表。maxsplit用于指定最大分割次数,不指定将全部分割。 import re p = re.compile(r‘\d+‘) print(p.split(‘one1two2three3four4‘)) 结果: [‘one‘, ‘two‘, ‘three‘, ‘four‘, ‘‘] findall finditer sub

  Re模块的方法: group() group(0) group(1) group(“tagname”) gourps() groupdict()

  Re模块的方法: findall import re p = re.compile(r‘\d+‘) print(findall(‘one1two2three3four4‘)) 结果: [‘1‘, ‘2‘, ‘3‘, ‘4‘] finditer sub Split \d+ ‘one1two2three3four4’

  

原文地址:https://www.cnblogs.com/iwss/p/8972349.html

时间: 2024-08-02 19:48:13

复习&正则&re模块的相关文章

python正则--re模块常用方法

前面几篇关于正则匹配的文章我用的方法都只有一个re.search 但其实正则re模块提供很多非常好用的方法,我们先来看看re模块都有那些属性方法呢 前面的一堆带_或者大写的就不关注了,主要关注最后面的几个方法 -------------------------------------------------------------------------------------------------------------------------------------------------

python之正则re模块

1.正则的语法:  中文教程:https://wizardforcel.gitbooks.io/py-re-guide/content/index.html 1.re的数量词: 1. ^   匹配度字符串开始位置 2. $   匹配字符串结束的地方: tr = 'jgko22rkdljgkd' r2 = re.findall('^jgkd', tr) print(r2) # []是空的 r4 = re.findall('^jgko', tr) print(r4) # ['jgko'] r3 =

python - re正则匹配模块

re模块 re 模块使 Python 语言拥有全部的正则表达式功能. compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象.该对象拥有一系列方法用于正则表达式匹配和替换. re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数. re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none. # (匹配规则,字符串,特殊标志) re.match(pattern

复习列表,模块

上节课复习 1,  列表生成式  l=[i for i in range(5) if i>3] #2,生成器表达式 def func():     for i in range(5):         if i>3:             yield i g=func() g=(i for i in range(5)if i>3) next(g) 3,什么是模块 模块就是一系列功能的集合体 优点:1,重复用功能 2,拿来主义,提高开发效率 4,如何使用模块 区分:    执行文件   

python正则re模块

今日内容: 知识点一:正则 什么是正则:  就是用一系列具有特殊含义的字符组成一套规则,改规则用来描述具有某一特征的字符串  正则就是用来在一个大的字符串中取出符合规则的小字符串   为什么用正则:  1.用户注册  2.爬虫程序   如何用:  re.findall re.findall模块: \w取字母.数字.下划线print(re.findall('\w','yangzz:age_18 '))\W取非字母.数字.下划线print(re.findall('\W','yangzz:age_18

递归&amp;装饰器&amp;正则运算&amp;模块

递归: def f(a): if a < 10: print(a) a+=1 b = a f(b) return a else: return a a = f(5) a等于6 a等于6 只执行一次 注意 怎么正确取值 ? def f(a): if a < 10: print(a) a+=1 b = f(a) f(b) return b else: return a 返回值是一个函数就可以啦 装饰器 : def outer(func): def inner(*arg, **kwargs): pr

python中RE正则匹配模块的用法若干

# -*- coding:utf-8 -*-import import reload()('utf-8')= [() for in ['this''that']]   # 编译一个匹配模板对象列表,该列表匹配模板编译源来自一个二元列表= 'Does this text match the pattern?'print 'Test:'' 'for in :                   # 查找每一个模板对象    print 'seeking "%s"-->' % if (

Python之正则re模块 --- findall()详解

1. findall() 函数的2种表示形式 1 import re 2 kk = re.compile(r'\d+') 3 kk.findall('one1two2three3four4') 4 #[1,2,3,4] 5 6 #注意此处findall()的用法,可传两个参数; 7 kk = re.compile(r'\d+') 8 re.findall(kk,"one123") 9 #[1,2,3] 2. 正则表达式可能遇到的坑  --- 正则表达式中的括号() 1. 当正则表达式中

re正则匹配模块_python

一.re模块 1.模块功能 通过re模块的接口接入正则表达式语言,主要用于匹配字符串. 2.正则表达式元字符以及意义 . 代表任意一个字符(除了换行符\n) ^ 以什么开头 $ 以什么结尾 * 重复匹配*前面的字符出现0到多次 [0,正无穷] + 重复匹配+前面的字符1到多次[1,正无穷] ? 重复匹配?前面的字符0或1次[0,1] {数字} 代表前面的匹配次数,如'b{3}' [] 代表字符集中的字符,或的关系,如'[a-z]',还有取消元字符意义的特殊功能, 如'[^123]',^放在[]里