D22_1.1正则函数
Posted banbosuiyue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了D22_1.1正则函数相关的知识,希望对你有一定的参考价值。
# ### 正则表达式 => 正则函数
# match 验证用户输入内容 search在正则表达式的前面加上^ 就与match函数一模一样
strvar = "y17166668888"
obj = re.search("^d+",strvar)
obj=re.match("d",strvar)
print(obj)
# re.split 语法 re.split("正则表达式",字符串,分割的次数-可选) 按正则表达式选出的字符串分割
strvar = "alex|wusir-xboyww&xgirlww"
res = re.split(r"[|-&]",strvar)
print(res)
# sub 替换 返回的结果是一个字符串re.sub(r"[|&-]","%",strvar)
strvar = "alex|wusir-xboyww&xgirlww"
res = re.sub(r"[|&-]","%",strvar)
print(res)
# subn 替换 用法上与sub一样,但是返回的结果是元组(替换后的结果,替换的次数)
strvar = "alex|wusir-xboyww&xgirlww"
res = re.subn(r"[|&-]","%",strvar,1)
print(res)
# finditer 匹配字符串中相应内容,返回迭代器(装着对象的迭代器)
"""findall 与 finditer用法一样,区别在于 findall返回的是列表,finditer返回迭代器"""
from collections import Iterator,Iterable
strvar = "sdfsd&^*12招待费34sdf"
it = re.finditer("d",strvar)
# compile 指定一个统一的匹配规则,用compile 用来编译一次,终身受益,不用对同一个正则反复编译啦
"""pattern = re.compile("d") #编译 res = pattern.findall(strvar)使用"""
strvar = "sdfsd&^*12招待费34sdf"
pattern = re.compile("d") #编译
print(pattern)
res = pattern.findall(strvar)
print(res)
# ### 修饰符
# re.I 使匹配对大小写不敏感 ("<h1>(.*?)</h1>",字符串,flags=re.I)
# re.M 使每一行都能够单独匹配(多行匹配),影响 ^ 和 $ ,就是把每一行都当成一个字符串取匹配
# re.S 使 . 匹配包括换行在内的所有字符(有换行的话匹配出来还有
)
# flags=re.I|re.S 使用多个修饰符的写法 (拓展) #修饰符之间用|分割
以上是关于D22_1.1正则函数的主要内容,如果未能解决你的问题,请参考以下文章
java中用正则表达式把字符串“abd 22dfdf Dfd23434sf”变为Abd 22_dfdf Dfd_23434_sf一定要用正则表达式