博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python库之re模块
阅读量:6243 次
发布时间:2019-06-22

本文共 1439 字,大约阅读时间需要 4 分钟。

hot3.png

首先:re库中有

__all__ = [ "match", "search", "sub", "subn", "split", "findall",    "compile", "purge", "template", "escape", "I", "L", "M", "S", "X",    "U", "IGNORECASE", "LOCALE", "MULTILINE", "DOTALL", "VERBOSE",    "UNICODE", "error" ]

1.match:

    这个函数的意思是从头开始匹配,如果有将匹配上的数据返回,但只返回第一个,如果没有匹配上将返回None,注意,这个函数的弊端就是如果你要找的数据在中间的某个部分,它是不会返回值的,返回None。

pattern = re.compile('\d+')str = 'bbb1234aaa5678'
m = pattern.match(str)

m=

None

2.search:

    为了解决上面的弊端,就出现了这个函数,这个函数可以从任何位置开始匹配,如果匹配上返回第一个数值,否则返回None。

pattern = re.compile('\d+')str = 'bbb1234aaa5678'
n = pattern.search(str)

print n.group()

# n=

# 1234

3.sub

    这个方法是被称作"替换"就是将你要替换的字段用其它的字段进行替换。pattern为匹配规则,strs使我们要进行替换的字符串,m中的hello word 是我们用它去替换我们匹配的东西。

pattern = re.compile('(\w+) (\w+)')
strs = 'hello 123, hello 456'm = pattern.sub('hello word', strs)

print m

# hello word, hello word

4.subn

该函数返回的是一个数组,第一个参数是字符串,第二个参数是匹配成功的个数。

pattern = re.compile('(\w+) (\w+)')
strs1 = 'hello 123, hello 456'
m1 = pattern.subn('hello word', strs1)

匹配成功输出为:('hello word, hello word', 2)

strs2 = 'xxxxxxxxxxxxxx'
m2 = pattern.subn('hello word', strs2)

匹配失败输出为:('xxxxxxxxxxxxxx', 0)

5.split

根据模式的出现分割源字符串,返回包含结果子字符串的列表

pattern = re.compile('[\s\d\\\;]+')m = pattern.split(r"a bb\aa;mm;     a")

# ['a', 'bb', 'aa', 'mm', 'a']

6.findall

匹配全部符合规则的字符串。

pattern = re.compile('\d+')m = pattern.findall('12a3d4f5g678s9d0dawsasda')

# ['12', '3', '4', '5', '678', '9', '0']

转载于:https://my.oschina.net/u/3298130/blog/1632811

你可能感兴趣的文章
组策略导入导出secedit
查看>>
Windows Phone 7.5 - Local SQL Database(简介)
查看>>
微软宣布Entity Framework 5的性能有了显著提升
查看>>
SPSS中八类常用非参数检验之二:二项分布(Binomial)检验
查看>>
mysql字段类型范围说明:int、bigint、smallint、tinyint,char、varchar、nvarchar
查看>>
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
查看>>
C# Socket编程(5)使用TCP Socket
查看>>
SQL SERVER IN参数化处理
查看>>
Python MongoDB Spatial Query
查看>>
NetBeans IDE 7.4 Beta版本build JavaFX时生成的可执行jar包执行时找不到依赖的jar包
查看>>
笔记本wifi热点设置好后,手机连上但不能上网问题
查看>>
Run ASP.NET MVC site on mac (mono/xamarin studio)
查看>>
win8.1安装驱动出现“文件的哈希值不在指定的目录”的解决办法[zz]
查看>>
CRM 常用SQL 脚本
查看>>
备忘录--关于线程和IO知识
查看>>
【iCore3 双核心板】例程八:定时器PWM实验——呼吸灯
查看>>
jquery tmpl 详解
查看>>
docker学习笔记4:利用docker hub上的mysql镜像创建mysql容器
查看>>
【Xamarin开发 Android 系列 3】循序渐进的学习顺序
查看>>
自定义列表dl的使用原因和场合
查看>>