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 替换数字