本文参照python 核心编程第一章正则表达式 #1、match函数的使用 import re m=re.match("foo","foo") if m is not None: print(m.group()) ''' match 如果匹配成功,返回一个匹配对象,不成功则返回None 如果我们不使用if判断就使用m.group(),在匹配不成功时就会抛出异常 import re m=re.match("oo","foo") print(m.group()) ''' #2、seatch函数的使用 m=re.search("guode","degeguodemmmmguode") if m is not None: print(m.group()) #3、分组匹配 abc-123 这种类型的字符串 aa="abc-123" moshi1='\w+-\d+' moshi2='\w\w\w-\d\d\d' moshi3="(\w+)-(\d+)" #通过括号我们我们就可以将匹配到的结果通过列表的形式进行操作 moshi4="(\w\w\w)-(\d\d\d)" if re.search(moshi1,aa) is not None: print(re.search(moshi1,aa).group()) if re.search(moshi2,aa) is not None: print(re.search(moshi2,aa).group()) if re.search(moshi3,aa) is not None: print(re.search(moshi3,aa).group()) print(re.search(moshi3,aa).group(1)) print(re.search(moshi3,aa).group(2)) print(re.search(moshi3,aa).groups()) if re.search(moshi4,aa) is not None: print(re.search(moshi4,aa).group()) print(re.search(moshi4,aa).group(1)) print(re.search(moshi4,aa).group(2)) print(re.search(moshi4,aa).groups()) #4、正则表达式分组的使用 aa="abc" moshi1="abc" moshi2="(abc)" moshi3="(a)(b)(c)" moshi4="(a(bc)" moshi5="(a((b)c)" if re.search(moshi1,aa) is not None: print(re.search(moshi1,aa).groups()) #没有括号,元组为空 if re.search(moshi2,aa) is not None: print(re.search(moshi2,aa).groups()) #带有一个括号将括好内的内容作为结果 #if re.search(moshi5,aa) is not None: # print(re.search(moshi5,aa).groups()) #带有一个括号将括好内的内容作为结果 次操作在dos中是可以的在pycharm中是会报错 #5、findall print(re.findall("a","aaablaksdjladlkajsdl;fja;")) #6.finditer 是将国有的匹配结果生成一个生成器 g=re.finditer("a","akalsdjklaksjd") print(g) #callable_iterator objec 可调用的迭代器对 #7.替换字符串中匹配到的结果,返回替换后的字符串 a=re.sub("guode","dege","guodeniahoaaosdo") print(a)
正则表达式2
最新推荐文章于 2022-09-01 08:29:07 发布