电子商务的网站案例,北京好的广告公司,购物网站开发问题,用wordpress 建网站re模块 re#xff08;正则#xff09;简介 正则就是用一些具有特殊含义的符号组合到一起#xff08;称为正则表达式#xff09;来描述字符或者字符串的方法。或者说#xff1a;正则就是用来描述一类事物的规则。 re元字符 元字符匹配内容\w匹配字母#xff08;包含中文… re模块 re正则简介 正则就是用一些具有特殊含义的符号组合到一起称为正则表达式来描述字符或者字符串的方法。或者说正则就是用来描述一类事物的规则。 re元字符 元字符匹配内容\w匹配字母包含中文或数字或下划线\W匹配非字母包含中文或数字或下划线\s匹配任意的空白符\S匹配任意非空白符\d匹配数字\D匹配非数字\A从字符串开头匹配\n匹配一个换行符\t匹配一个制表符^匹配字符串的开始$匹配字符串的结尾.匹配任意字符除了换行符当re.DOTALL标记被指定时则可以匹配包括换行符的任意字符。[...]匹配字符组中的字符[^]匹配除了字符组中的字符的所有字符*匹配0个或者多个左边的字符。匹配一个或者多个左边的字符。匹配0个或者1个左边的字符非贪婪方式。{n}精准匹配n个前面的表达式。{n,m}匹配n到m次由前面的正则表达式定义的片段贪婪方式a|b匹配a或者b()匹配括号内的表达式也表示一个组s meet 黑哥_dsb
print(re.findall(\w,s))
# 结果[m, e, e, t, 黑, 哥, _, d, s, b] s meet 黑哥!_dsb
print(re.findall(\W,s))
# 结果[ , , !] s meet 黑哥\n_dsb\t
print(re.findall(\s,s))
# 结果[ , \n, \t] s meet 黑哥\n_dsb\t
print(re.findall(\S,s))
# 结果[m, e, e, t, 黑, 哥, _, d, s, b] s meet1 黑哥2_dsb3
print(re.findall(\d,s))
# 结果[1, 2, 3] s meet1 黑哥2_dsb3
print(re.findall(\D,s))
# 结果[m, e, e, t, , 黑, 哥, _, d, s, b] s meet 黑哥_dsb
print(re.findall(\Am,s))
print(re.findall(\Ad,s))
# 结果
[m]
[] s meet \n黑哥\t_\ndsb
print(re.findall(\n,s))
# 结果
[\n, \n] s meet \n黑哥\t_\ndsb
print(re.findall(\t,s))
# 结果
[\t] s meet 黑哥_dsb
print(re.findall(^m,s))
print(re.findall(^d,s))
# 结果
[m]
[] s meet 黑哥_dsb
print(re.findall(b$,s))
print(re.findall(sb$,s))
# 结果
[b]
[sb] s meet 黑哥_dsb
print(re.findall(m..,s))
# 结果[mee] s meet1 黑哥2_dsb3
print(re.findall([1-3],s))
# 结果[1, 2, 3] s meet1 黑哥2_dsb3
print(re.findall([^(1-3)],s))
# 结果[m, e, e, t, , 黑, 哥, _, d, s, b] s meet 黑m哥_dsb meet meee
print(re.findall(me*,s))
# 结果[mee, m, mee, meee] s meet 黑m哥_dsb meet meee
print(re.findall(me,s))
# 结果[mee, mee, meee] s meet 黑m哥_dsb meet meee
print(re.findall(me*?,s))
print(re.findall(me?,s))
# 结果:
[m, m, m, m]
[me, me, me] s meet 黑m哥_dsb meet meee
print(re.findall(e{3},s))
# 结果
[eee] s meet 黑m哥_dsb meet meee
print(re.findall(e{1,3},s))
# 结果
[ee, ee, eee] s 2019-7-26 20:30:30
print(re.split(:|-|\s,s))
# 结果
[2019, 7, 26, 20, 30, 30] s meet 黑m哥_dsb meet meee
print(re.findall(m(.*?)t,s))
# 结果
[ee, 哥_dsb mee] re模块常用方法 findall 全部找到返回一个列表search 从字符串中任意位置进行匹配查找到一个就停止了,返回的是一个对象. 获取匹配的内容必须使用.group()进行获取 import re
print(re.search(sb|nb,alexsb meetnb))
print(re.search(sb|nb,alexsb meetnb).group())
# 结果
_sre.SRE_Match object; span(4, 6), matchsb
sbmatch 从字符串开始位置进行匹配 import re
print()re.match(sb|nb,alexdsb,alex_sb,alexnb,al_ex)
print(re.match(sb|nb,alexdsb,alex_sb,alexnb,al_ex).group())
# 结果
None
AttributeError: NoneType object has no attribute group # NoneType对象没有属性groupsplit 分隔 可按照任意分隔符进行分隔 import re
s 2019-7-26 20:30:30
print(re.split(:|-|\s,s))
# 结果
[2019, 7, 26, 20, 30, 30]sub 替换 import re
s meet是一位好老师meet教会了我们很多知识
print(re.sub(meet,苍老师s))
# 结果
苍老师是一位好老师苍老师教会了我们很多知识compile 定义匹配规则 import re
fn \d
s 太白123meet456
print(re.split(fn,s))
# 结果
[太白, meet, ]finditer 返回一个迭代器 import re
s 太白123
g re.finditer(\w,s)
for i in g:print(i)print(next(i))
# 结果
_sre.SRE_Match object; span(0, 1), match太
太
_sre.SRE_Match object; span(1, 2), match白
白
_sre.SRE_Match object; span(2, 3), match1
1
_sre.SRE_Match object; span(3, 4), match2
2
_sre.SRE_Match object; span(4, 5), match3
3给分组起名字 import re
ret re.search((?Ptag_name\w)\w/\w,h1hello/h1) # 给分组1取名tag_name
print(ret.group(tag_name))
print(ret.group())
# 结果
h1
h1hello/h1import re
ret re.search(r(\w)\w/\1,h1hello/h1) # \1填充分组1中的内容
print(ret.group(1))
print(ret.group())
# 结果
h1
h1hello/h1转载于:https://www.cnblogs.com/lifangzheng/p/11264627.html