参考链接:https://mp.weixin.qq.com/s/L-WhmHxcPIfBFRrr1jWyHw
1. 正则基本符号
2. Python对正则表达式的支持
3. 字符串的匹配查询
-
re
模块中的findall
函数可以对指定的字符串进行遍历匹配,获取字符串中所有匹配的子串,并返回一个列表结果。该函数的参数含义如下:
findall(pattern, string, flags=0)
pattern:指定需要匹配的正则表达式。
string:指定待处理的字符串。
flags:指定匹配模式,常用的值可以是re.I、re.M、re.S和re.X。re.I的模式是让正则表达式对大小写不敏感;re.M的模式是让正则表达式可以多行匹配;re.S的模式指明正则符号.可以匹配任意字符,包括换行符\n;re.X模式允许正则表达式可以写得更加详细,如多行表示、忽略空白字符、加入注释等。
# 取出string9中所有含O字母的单词
string9 = 'Together, we discovered that a free market only thrives when there are rules to ensure competition and fair play, Our celebration of initiative and enterprise'
# 基于正则表达式使用findall函数
print(re.findall('\w*o\w*',string9, flags = re.I))
4. 字符串的匹配替换
-
re
模块中的sub
函数的功能是替换,类似于字符串的replace
方法,该函数根据正则表达式把满足匹配的内容替换为repl
。该函数的参数含义如下:
sub(pattern, repl, string, count=0, flags=0)
pattern:同findall函数中的pattern。
repl:指定替换成的新值。
string:同findall函数中的string。
count:用于指定最多替换的次数,默认为全部替换。
flags:同findall函数中的flags。
# 将string10中的标点符号、数字和字母删除
string10 = '据悉,这次发运的4台蒸汽冷凝罐属于国际热核聚变实验堆(ITER)项目的核二级压力设备,先后完成了压力试验、真空试验、氦气检漏试验、千斤顶试验、吊耳载荷试验、叠装试验等验收试验。'
# 基于正则表达式使用sub函数
print(re.sub('[,。、a-zA-Z0-9()]','',string10))
网友评论