十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
re正则表达式库的简介
创新互联建站主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、响应式网站、程序开发、网站优化、微网站、小程序制作等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的成都网站建设、成都网站设计、网站设计、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体。正则表达式在很多语言里都支持,python也不例外,re模块就是正则表达式的应用 正则表达式对字符串的逻辑操作,主要是对字符串的一种过滤,用“元字符” 与“普通字符”组成一个字符串规则对已知的字符串或文本过滤出自己想要的字符串。
1、正则表达式元字符
\
转义字符,将后边紧跟着的字符变成特殊字符,或将后边的特殊字符变成普通字符
如:在正则表达式中,"\n"换行符,"\\"则代表一个普通字符"\"
^ 匹配第一行行首,匹配多行需要传参 flags=re.MULTILINE
$ 匹配最后一行行尾,匹配多行需要传参 flags=re.MULTILINE
. 除"\r""\n"外,匹配任意的单个字符,要使"."匹配换行符,flags=re.DOTALL
| 或,如 "aaa|bbb|ccc",表示"aaa","bbb","ccc"三选一
? 匹配前边的子表达式0次或1次,等价于{0,1}
+ 匹配前边的子表达式1次或多次,等价于{1,}
* 匹配前边的子表达式0次或多次,,等价于{0,}
{} {n}匹配前边的子表达式n次,{n,}匹配前边的子表达式至少n次 即:>= n,{n,m}匹配前边的子表达式n~m次,即:n<= 表达式 <=m
() 分组,从1开始,从左至右数"("为第几组,下标0为全部分组
[]
字符集匹配[]中的人一个字符,之匹配一次,如[abc]:表示"a","b","c"三选一。也可以给定范围(必须是连续的才行),如[a-z]:表示a到z任意一个字符。
还可以取反,如[^abc]:除"a","b","c"外的任意字符。注:[]中只有"^","-","\"三个特殊字符,其中"\"代表转义字符,其它的都代表原本普通的字符,如:[.]只是一个普通的点字符
注:要使用元字符本身的普通字符,请使用转义字符转义一下,如 :"\(" 在正则表达式中代表普通给"("字符,其它的雷同
re正则表达式库的入门
1、re.match函数
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
语法:re.match(pattern, string, flags=0)
参数说明:
pattern 匹配的正则表达式
string 要匹配的字符串。
flags 标志位,用于控制正则表达式匹配的方式,如:是否区分大小写,多行匹配等等。
2、re.search方法
re.search 扫描整个字符串并返回第一个成功的匹配。
语法:re.search(pattern, string, flags=0)
参数说明:
pattern 匹配的正则表达式
string 要匹配的字符串。
flags 标志位,用于控制正则表达式匹配的方式,如:是否区分大小写,多行匹配等等。
3、检索和替换
Python 的 re 模块提供了re.sub用于替换字符串中的匹配项。
语法:re.sub(pattern, repl, string, count=0, flags=0)
参数: 无锡人流手术多少钱 http://www.chnk120.com/
pattern : 正则中的模式字符串。
repl : 替换的字符串,也可为一个函数。
string : 要被查找替换的原始字符串。
count : 模式匹配后替换的大次数,默认 0 表示替换所有的匹配。
4、re.compile 函数
compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。
语法:re.compile(pattern[, flags])
参数:
pattern : 一个字符串形式的正则表达式
flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:
re.I 忽略大小写
re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
re.M 多行模式
re.S 即为 . 并且包括换行符在内的任意字符(. 不包括换行符)
re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
re.X 为了增加可读性,忽略空格和 # 后面的注释
re正则表达式库的使用方法
1、去掉字符串中的所有括号及括号内容
#去掉字符串中的所有括号及括号内容
import re
str="今天(1)天气{1}非常好啊,[1]是的。"
str_sub = re.sub(u"\\(.*?\\)|\\{.*?}|\\[.*?]", "", str)
print(str_sub)
'今天天气非常好啊,是的。'