平时常常使用Python的正则表达式进行一些字符串的处理,做一点简单记录:
1. 查找字符串中的特定字符串:
>>> x = "s321sdd55ii"
>>> re.findall(r‘\d+', x)
['321', '55']
2. 把字符串按正则规则切片:
>>> x = "sfas sadfaee d serassd"
>>> re.split(r'\s+', x)
['sfas', 'sadfaee', 'd', 'serassd']
3. 把符合正则规则的特定的字符串替换掉:
>>> x = "s321sdd55ii"
>>> re.sub(r'\d+', 'zhg', x) #替代的字符串也可以是函数
'szhgsddzhgii'
4. 通过正则匹配判断字符串是否正确:
>>> x = "s321sdd55ii"
>>> re.match(r's', x) # match 要求从字符串的开始进行匹配
<_sre.SRE_Match object at 0x10fb91648>
>>> re.match(r'321', s) # 与字符串的首字母不匹配,所以失败
>>> re.search(r'321', s) # search 是查看整个字符串内有没有相匹配的部分
<_sre.SRE_Match object at 0x10fb52f38>
re.fullmatch() 判断整个字符串是否与正则表达式匹配 #New in version 3.4.
备注:
可以先定义正则对象,再调用以上方法:
>>>x = "s321sdd55ii"
>>>reObj = re.compile(r’\d+’)
>>>reObj.findall(x)
>>>reObj.split(x)
>>>reObj.sub(‘zhg’, x)
…...