python re模块

import re
"""
re.findall(正则表达式, 字符串)
在字符串找到所有符合正则表达式的字符
结果:
['a', 'a', 'a']
""" ret = re.findall('a', 'abc_abc_abc') print(ret)
import re
"""
re.search(正则表达式, 字符串)
在字符串中找出第一个符合正则表达式的字符
如果没找到,返回None
结果:
a
"""
ret = re.search('a', 'bca_acb')
if ret:
    print(ret.group())
import re
"""
字符串开头,匹配正则表达式
结果
a
"""
ret = re.match('a', 'abc')
if ret:
    print(ret.group())
import re
"""
re.split()用法与str的split相似
区别:str: 字符; re: 正则表达
结果:
['abc', 'abc3a']
"""
ret = re.split(r'\d', 'abc1abc3a', 1)
print(ret)
import re
"""
re.sub()与str的replace()相似
区别:re 正则表达式 str 字符串
结果:
bbacccaaa
"""
ret = re.sub('a', 'b', 'aaacccaaa', 2)
print(ret)
import re
"""
re.subn()获取替换的次数,
结果:
('bbacccaaa', 2)
"""
ret = re.subn('a', 'b', 'aaacccaaa', 2)
print(ret)
import re
"""
re.compile() 把正则表达式编译成一个对象
结果:
['a', 'a']
"""
obj = re.compile('a')
ret = re.findall(obj, 'cba_nba')
print(ret)
import re
"""
g为迭代器
结果:
2
['1', '4', '6']
"""
g = re.finditer(r'\d', '21daf4asf6fa ')
print(next(g).group())
print([i.group() for i in g])

 finall() 有分组的优先级

www.(?:bing|baidu)com

结果:www.bing.com

split('(\d+)')

结果:保留被切割的数字

posted @ 2019-05-17 07:59  市丸银  阅读(112)  评论(0编辑  收藏  举报