# 匹配一个字符 import re # re match函数 text = "ss555" # 匹配ss字符串 ret = re.match('ss', text) print(ret.group()) # .匹配一个字符 .不能匹配换行符 ret = re.match('.', text) print(ret.group()) # .会报错 不能匹配换行符 text1 = ' ' # ret = re.match('.', text1) # print(ret.group()) # d匹配任意的数字 D匹配到任意的非数字 # w匹配的是a-z A-Z 数字 下划线 W与w相反 # s匹配字符 text2 = '123' # ret = re.match('d', text2) # print(ret.group()) text3 = 'ss' # ret = re.match('D', text3) # print(ret.group()) # s匹配的是空白字符 包括 # []组合的方式 只要满足中括号中的字符,就可以匹配 # [d-]+ # +代表匹配多个字符 # ^代表非 # [^0-9] 可代替 D [0-9] 可代替 d # [0-9a-zA-Z_] 可代替 w [^0-9a-zA-Z_] 可代替 W text4 = '0316-5153300sss' ret = re.match('[d-]+', text4) print(ret.group())
# 匹配多个字符 import re # * + {}的使用 # *匹配任意多个字符 text = '9988587' ret = re.match('d*', text) print(ret.group()) # +匹配一个或多个字符 text1 = 'ab*cd' # 结果ab # ret=re.match('w+',text1) # print(ret.group()) text2 = '*abcd' # 报错,因为第一个*出错 # ret=re.match('w+',text2) # print(ret.group()) # ?匹配一个或者0个 # 无 匹配到0个 text3 = '*abcd' # ret = re.match('w?',text3) # print(ret.group()) # a 匹配到1个 text4 = 'abcd' # ret = re.match('w?',text4) # print(ret.group()) # {m,n} 匹配m-n个字符 匹配最多 # 结果 a text5 = 'a-bcd' ret = re.match('w{1,2}',text5) print(ret.group()) # 结果 ab text5 = 'abcd' ret = re.match('w{1,2}',text5) print(ret.group()) # 结果 abcd text5 = 'abcd' ret = re.match('w{1,5}',text5) print(ret.group())
正则表达式的练习