python正则表达式之re模块方法介绍

python正则表达式之re模块其他方法

1:search(pattern,string,flags=0)

在一个字符串中查找匹配

2:findall(pattern,string,flags=0)

找到匹配,返回所有匹配部分的列表

In [1]: import re

In [2]: str1 = ‘imoooc videonum = 1000‘

In [3]: str1.find(‘1000‘)
Out[3]: 18

In [4]: info = re.search(r‘\d+‘,str1)

In [5]: info
Out[5]: <_sre.SRE_Match object; span=(18, 22), match=‘1000‘>

In [6]: info.gr
info.group      info.groupdict  info.groups     

In [6]: info.group()
Out[6]: ‘1000‘

In [7]: str1 = ‘imoooc videonum = 10000‘

In [8]: info = re.search(r‘\d+‘,str1)

In [9]: info
Out[9]: <_sre.SRE_Match object; span=(18, 23), match=‘10000‘>

In [10]: info.group()
Out[10]: ‘10000‘

In [11]: str2 = ‘c++=100, java=90, python=80‘

In [12]: info = re.search(r‘\d+‘,str2)

In [13]: info
Out[13]: <_sre.SRE_Match object; span=(4, 7), match=‘100‘>

In [14]: info.group()
Out[14]: ‘100‘

In [15]: info = re.find
re.findall   re.finditer  

In [15]: info = re.findall(r‘\d+‘,str2)

In [16]: info
Out[16]: [‘100‘, ‘90‘, ‘80‘]

In [17]: sum([int(x) for x in info])
Out[17]: 270

3.sub(pattern,repl,string,count=0,flags=0)

将字符串中匹配正则表达式的部分替换为其他值

4.split(pattern,string,maxsplit=0,flags=0)

根据匹配分割字符串,返回分割字符串组成的列表

In [22]: str3 = ‘imooc videonum = 1000‘

In [24]: info = re.sub(r‘\d+‘,‘1001‘,str3)

In [25]: info
Out[25]: ‘imooc videonum = 1001‘

In [26]: def add1(match):
   ....:     val = match.group()
   ....:     num = int(val)+1
   ....:     return str(num)
   ....: 

In [27]: str3
Out[27]: ‘imooc videonum = 1000‘

In [28]: re.sub(r‘\d+‘,add1,str3)
Out[28]: ‘imooc videonum = 1001‘
In [36]: str4 = ‘imooc:C C++ Java Python‘

In [37]: re.s
re.search       re.sre_compile  re.sub          re.sys
re.split        re.sre_parse    re.subn         

In [37]: re.split(r‘:| ‘,str4)
Out[37]: [‘imooc‘, ‘C‘, ‘C++‘, ‘Java‘, ‘Python‘]

In [38]: re.split(r‘:| |,‘,str4)
Out[38]: [‘imooc‘, ‘C‘, ‘C++‘, ‘Java‘, ‘Python‘]

In [39]: 

原文地址:https://www.cnblogs.com/zaorunzi/p/9387597.html

时间: 2024-11-03 18:20:41

python正则表达式之re模块方法介绍的相关文章

python 正则表达式re使用模块(match()、search()和compile())

摘录 python核心编程 python的re模块允许多线程共享一个已编译的正则表达式对象,也支持命名子组.下表是常见的正则表达式属性: 函数/方法 描述 仅仅是re模块函数 compile(pattern,flags=0) 使用任何可选的标记来编译正则表达式的模式 ,然后返回一个正则表达式对象 re模块函数和正则表达式对象的方法 match(pattern,string,flags=0) 尝试使用带有可选标记的正则表达式的模式来匹配字符串,成功则返回匹配的对象,失败则返回None search

python正则表达式与re模块

python中的re模块常用函数/方法 0.正则表达式对象 (re.compile(pattern, flags=0)) 将正则表达式编译成正则表达式对象,该对象可调用正则表达式对象方法如:re.match(),re.search(),re.findall等. prog = re.compile(pattern) result = prog.match(string) //上下两种写法意义相同 result = re.match(pattern, string) 1.匹配对象及方法       

python常用数据类型内置方法介绍

熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 一.整型 a = 100 a.xxx() class int(object): def bit_length(self): ##如果将某个整数用2进制表示,返回这个2进制所占bit位数. return 0 def conjugate(self, *args, **kwargs): ##共轭复数 @classmethod # known case def from_bytes(cls, bytes, byteorder, *ar

python的内置模块re模块方法详解以及使用

正则表达式 一.普通字符 .     通配符一个.只匹配一个字符 匹配任意除换行符"\n"外的字符(在DOTALL模式中也能匹配换行符 >>> import re >>> re.findall("abcd","abcdrbnmjfsdsaeedsss") ['abcd'] >>> re.findall("a..d","abcdrbnmjfsdsaeedsss&qu

python正则表达式之re模块使用

python第一个正则表达式 r'imooc'  Pattern Match result In [2]: import re In [3]: pa = re.compile(r'imooc') #re的compile方法生成pattern对象 In [4]: type(pa) Out[4]: _sre.SRE_Pattern In [5]: pa. pa.findall pa.fullmatch pa.match pa.search pa.subn pa.finditer pa.groupin

python正则表达式及RE模块

正则表达式(匹配字符串)web界面正则匹配工具:http://tool.chinaz.com/regex/ 元字符 1 . 匹配除换行符之外的任意字符 2 \w 匹配数字字母下划线 3 \d 匹配数字 4 \t 匹配制表符 5 \n 匹配换行符 6 \s 匹配空白符(包含,空格,制表符和换行符) 7 \b 单词的边界 8 \W 匹配非数字字母下划线 9 \S 匹配非空白符 10 \D 匹配非数字 11 ^ 匹配开始符 12 $ 匹配结束符 13 | 或者,如果是有包含关系的,长的放左边 14 [

python 正则表达式与re模块

一.正则表达式 用途 用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑. #### 简单地说 就是用于字符串匹配的 字符组 在同一个位置可能出现的各种字符组成的一个字符组,在正则表达式中用[]表示 例子: 规则:[0123456789] 待匹配:8 匹配结果:True 规则:[0-9] 待匹配:6 匹配结果:True 规则:[a-z] 待匹配:c 匹配结果:True 规则:[A-Z] 待匹配:

Python 正则表达式、re模块

一.正则表达式 对字符串的操作的需求几乎无处不在,比如网站注册时输入的手机号.邮箱判断是否合法.虽然可以使用python中的字符串内置函数,但是操作起来非常麻烦,代码冗余不利于重复使用. 正则表达式是一种特殊的字符串序列,使用它可以非常方便的匹配一个字符串是否合法. 1)判断手机号是否合法:根据手机号码一共11位并且是只以13.15.18.17开头的数字这些特点,我们用python写了如下代码: content = input('>>>') if content.isdigit(): i

python正则表达式02--findall()和search()方法区别,group()方法

import re st = 'asxxixxsaefxxlovexxsdwdxxyouxxde' #search()和 findall()的区别 a = re.search('xx(.*?)xxsaefxx(.*?)xxsdwdxx(.*?)xx',st) #print(a) #运行结果 #<_sre.SRE_Match object; span=(2, 30), match='xxixxsaefxxlovexxsdwdxxyouxx'> #group()方法 b = re.search('