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] == 抓特殊字符 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 替换数字