码迷,mamicode.com
首页 > 其他好文 > 详细

D22_1.1正则函数

时间:2019-11-11 00:08:12      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:次数   port   多行   字符串分割   var   大小写   表达   区别   指定   

# ### 正则表达式 => 正则函数

# 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 使 . 匹配包括换行在内的所有字符(有换行的话匹配出来还有\n)
# flags=re.I|re.S 使用多个修饰符的写法 (拓展) #修饰符之间用|分割

 

D22_1.1正则函数

标签:次数   port   多行   字符串分割   var   大小写   表达   区别   指定   

原文地址:https://www.cnblogs.com/banbosuiyue/p/11832468.html

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