1.compile
將正則表達(dá)式字符編譯成正則對象(就可以去調(diào)用相關(guān)的正則表達(dá)式對象方法)
2.match
a-re.match(正則表達(dá)式字符串/對象玄渗,要匹配的字符串)
b.-正則表達(dá)式對象.match(要匹配的字符串)
//用指定的正則表達(dá)式和指定的字符串進(jìn)行匹配座菠,如果匹配成功就返回匹配對象,否則返回None
reslut = re.match(r'a\dd.', 'a2dlhuhjs')
print(reslut)
# 獲取匹配結(jié)果在原字符串中的范圍
print(reslut.span())
# 獲取匹配開始的位置和結(jié)束的位置
print(reslut.start(), reslut.end())
# 獲取匹配的結(jié)果
print(reslut.group())
# 獲取原字符串
print(reslut.string)
3.search
re.search(正則表達(dá)式/對象, 指定的字符串)
正則對象.search(指定的字符串)
// 在指定的字符串中藤树,去查找第一個指定正則表達(dá)式匹配的字符串浴滴。如果找到了就返回匹配對象,否則返回None
- findall
re. findall(正則表達(dá)式/對象, 指定的字符串)
獲取指定字符串中岁钓,所有滿足正則表達(dá)式的子串升略。返回值是一個列表
練習(xí):獲取一個字符串中,所有以'ing'結(jié)束的單詞
'I love singing and dancing aingc'
reslut = re.findall(r'[a-zA-Z]*ing\b', 'I love singing and dancing aingc')
print(reslut)
- split
re.split(正則表達(dá)式/對象, 指定的字符串,最大拆分?jǐn)?shù))
正則對象.split(指定的字符串)
最大拆分?jǐn)?shù) : 拆分的數(shù)量,0->全部拆分 - sub
re.sub(正則表達(dá)式,替換字符串,原字符串)
替換后原字符串不變已卸,返回一個新的字符串
將指定字符串中的指定的子串替換成其他的字符串
練習(xí),將臟話替換成' * '
re_str = r'[\u4e00-\u9fa5]'
re_str = r'[艸操傻媽]|智障|sb|SB|MPP|mpp|mmp|MMP|Fuck you'
sentence = '你丫是傻叉嗎? 我操你大爺?shù)? Fuck you.'
result = re.sub(re_str, '*', sentence)
print(result)
補(bǔ)充:正則表達(dá)式中中文的判斷
判斷是否有正文腰根,如果有就打印'不合格',沒有打印'合格'
中文的Unicode編碼范圍:\u4e00-\u9fa5 (正則表達(dá)式中Unicode前面需要加'\u')