houziaipangqi

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

# 正则表达式(Regular Expression,re)
-用来匹配符合某个规则的字符串
-检索/替换某些文本数据

#正则的写法
- .(点号):表示任意一个字符,除了\n,比如查找所有的一个字符 .
- []:匹配括号中列举的任意字符,比如[L,Y,0],LLY,Y0等都可以
- \d:任意一个数字
- \D:除了数字都可以
- \s:表示空格,tab键
- \S:除了空白符号
- \w:单词字符,就是a-z,A-Z,0-9,_
- \W:除了上述的\w都可以
- *:表示前面内容重复零次或者多次
- +:表示前面内容至少出现一次
- ?:前面才出现的内容零次或者一次
- {m,n}:允许前面内容出现最少m次,最多n次
- ^:匹配字符串的开始
- $:匹配字符串的结尾
- \b:匹配单词的边界
- ():对正则表达式内容进行分组,从第一个括号开始,编号逐渐增大
- \A:只匹配字符串开头
- \Z:仅匹配字符串末尾
- |:左右任意一个
- (?P<name>...):分组
- (?P=name):引用分组


#RE使用大致步骤
1、使用compile将表示正则的字符串编译为一个pattern对象
2、通过对pattern对象提供一系列方法对文本进行查找匹配,获得匹配结果Match
3、最后使用Match提供的属性和方法获得信息

#RE常用函数
-group():获得一个或者对各分组匹配的字符串,当要获得整个匹配的子串时,直接使用group或者group(0)
-start:获取分分组匹配的子串在整个字符串中的起始位置,参数默认为0
-end:获取分组匹配的子串在整个字符串中的结束位置,默认为0
-span:返回的结构技术(start(group),end(group))

 

#导入相关包
import re
#查找数字
#r表示字符串不转译
p = re.compile(r"\d+")
#在以下字符串中,按照p制定的正则进行查找
m = p.match("werf1123rfwedvr3462gtrf23r23vrdrdg")
print(m)


#导入相关包
import re
#查找数字
#r表示字符串不转译
p = re.compile(r"\d+")
#在以下字符串中,按照p制定的正则进行查找
#参数3 12 表示在字符串查找的范围
m = p.match("werf1123rfwedvr3462gtrf23r23vrdrdg",3,22)
print(m)

#上述代码说明的问题
-match可以输入参数表示起始位

posted on 2018-09-12 21:00  houziaipangqi  阅读(273)  评论(0编辑  收藏  举报