import re 元字符: . ^ $ * + ? {} \ () # s = 'abcdefg' # s.find('c') # print(s.find('cd')) ## 查找 # b = s.replace('a', 'x') #@# 替换 # print( b ) # c = s.split('d') ## 分割 # print(c) Import re sb = re.findall('hello', 'fdasfdsafsdahellofdsafds') ## 全部找到 print(sb) # o = re.findall('w..l', 'hello world') ## .代表一个字符 o = re.findall('^hello', hellofdsfsfw) ## 从开始查找,有则输出, o = re.findall('hello$', hellofdsfsfw) ## 从末尾查找,有则输出, (‘aaaa’)=(‘a*’) == + (‘a…’)=(‘a.*’) == + o = re.findall('a?b', 'aaaaab') ## ? 表示0到1个a o = re.findall('a{5}b', 'aaaaab') ## {} 几个自己定 {1,3} {1,} 【】 # a = re.findall('[com cn]', 'comfdsffdscnc') ## 二选一,三选一 a = re.findall('[a-z]', 'comfdsffdsfnc') ## 【】a到z的范围 a = re.findall('[^c]', 'comfdsffdsfnc') ## 【】取反 除C以外 a = re.findall( '\d{11}', 'fdsaf1234567892222' ) ## 找11个数 \d == [0-9] \D ==[^0-9] a = re.findall( '\sabc', 'abc abc' ) ## \s 空白字符 \s == \S == \w ==[a-Za-z0-9] \W ==[^a-Za-z0-9] \b == 抓特殊字符 ret = re.search('ab', '123ab1234564897ab') print(ret.group()) # # 找出满足条件的第一个结果 a = re.findall('(ab)+', 'aaabfdfwabdfd') ## 找出ab的重复 kuo_hao = re.compile( r'\([^()]+\)' ) ## 找最里边的() a = re.findall('(ab)|3', 'kk3') ## 或| ret=re.search( '(?P<id>\d{3}),(?P<name>\w{3})','weeew34ttt123,ooo' ) print( ret.group()) print( ret.group('id')) print( ret.group('name')) m = re.match(r'^(\d{3})-(\d{3,8})$', '010-12345') print(m.group(0)) print(m.group(1)) print(m.group(2)) '''如果正则表达式中定义了组,就可以在Match对象上用group()方法提取出子串来。 注意到group(0)永远是原始字符串,group(1)、group(2)……表示第1、2、……个子串。 ''' a = re.subn( '\d', 'abc', 'alvfdsa5y123' ) ## 替换,用 abc 替换数字