码迷,mamicode.com
首页 > 编程语言 > 详细

Python——常用模块

时间:2018-10-04 10:10:31      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:正则   pre   ext   jaf   字符   split   分组   abc   bsp   

一、常用模块

1、re模块

二、re模块

1、re模块是用来操作正则表达式

2、正则表达式——用来字符串匹配的

(1)字符组:[字符组]  例如[0123fdsa456*/-]

             [0-9] 等同于[0123456789]

             [a-z] 匹配小写字母

             [A-Z]匹配大写字母

(2)特殊的元字符

.  匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线
\s 匹配任意的空白符
\d 匹配数字
\n 匹配一个换行符
\t 匹配一个制表符
\b 匹配单词的结尾 g\b以g结尾的单词
^ 匹配字符串的开始 ^e
$ 匹配字符串的结尾 w$
\W 匹配非字母、数字、下划线
\D 匹配非数字
\S 匹配非空白符
a|b  匹配字符a或b 先长字符后短字符
() 分组
[^abc] 除了abc以外都匹配

(3)量词

* 匹配0次或多次
+ 匹配1次或多次
匹配0次或1次
{n} 重复多次
{n,} 重复n次或更多次
{n,m} 重复n到m次

(4)转义符   \

注:r"\\d" 表示取消转义,直接显示出本来的字符

 3、使用re模块方法

# -*- coding:UTf-8 -*-
#findall 是寻找所有匹配的字符
#参数一:需要匹配的字符,正则规则
#参数二:带匹配的字符串
import re
re = re.findall(e,eva egon yuan)
print(re)
#从前往后,找到一个就返回,返回,返回的变量需要调用group才能拿到结果
#如果没有找到,那么返回NONE,调用gruop会报错
re = re.search(e,eva egon yuan)
if re :
    print(re.group())
#natch是从头开始匹配,同样调用group方法
re = re.match(e,eva egon yuan)
if re :
    print(re.group())
#split方法,分割
re = re.split([ab],adbc) #利用正则关系进行分割

#sub 方法,替换
re = re.sub(\d,H,efaflkdjafhg,1)#利用正则规则进行替换,将数字替换成H

#subn方法
re = re.subn(\d,H,fdahglaag)#将数字地换成H,返回元祖,替换了几次

#compile方法,编译规则
obj = re.compile(\d{3) #将正则表达式编译成一个正则表达式对象,建立规则
re = obj.search(fdafsafdsa12313)
print(re.group())

#finditer 返回一个存放匹配结果的迭代器
re = re.findall(\d,fwqre12314)
print (next(re).group) #查询第一个结果
for i in re:
    print(i.group())

4、group(),里面可以加入整数值,表示取局部分组里的数值,分组的意思是正则表达公式里的分组

5、正则表达式中‘?’  有三种功能, (1) 单独表示匹配0次或1次(2)放在字符串后面表示惰性匹配,表示匹配最少的次数(3)跟findall使用,在字符串内,表示取消优先级查询

6、在分组的时候,findall,split 是有分组优先级的,需要特别注意一下

 

Python——常用模块

标签:正则   pre   ext   jaf   字符   split   分组   abc   bsp   

原文地址:https://www.cnblogs.com/cxys85/p/9736793.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!