1.compile
将正则表达式字符编译成正则对象(就可以去调用相关的正则表达式对象方法)
2.match
a-re.match(正则表达式字符串/对象,要匹配的字符串)
b.-正则表达式对象.match(要匹配的字符串)
//用指定的正则表达式和指定的字符串进行匹配,如果匹配成功就返回匹配对象,否则返回None
reslut = re.match(r'a\dd.', 'a2dlhuhjs')
print(reslut)
# 获取匹配结果在原字符串中的范围
print(reslut.span())
# 获取匹配开始的位置和结束的位置
print(reslut.start(), reslut.end())
# 获取匹配的结果
print(reslut.group())
# 获取原字符串
print(reslut.string)
3.search
re.search(正则表达式/对象, 指定的字符串)
正则对象.search(指定的字符串)
// 在指定的字符串中,去查找第一个指定正则表达式匹配的字符串。如果找到了就返回匹配对象,否则返回None
- findall
re. findall(正则表达式/对象, 指定的字符串)
获取指定字符串中,所有满足正则表达式的子串。返回值是一个列表
练习:获取一个字符串中,所有以'ing'结束的单词
'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(正则表达式/对象, 指定的字符串,最大拆分数)
正则对象.split(指定的字符串)
最大拆分数 : 拆分的数量,0->全部拆分 - sub
re.sub(正则表达式,替换字符串,原字符串)
替换后原字符串不变,返回一个新的字符串
将指定字符串中的指定的子串替换成其他的字符串
练习,将脏话替换成' * '
re_str = r'[\u4e00-\u9fa5]'
re_str = r'[艹操傻妈]|智障|sb|SB|MPP|mpp|mmp|MMP|Fuck you'
sentence = '你丫是傻叉吗? 我操你大爷的. Fuck you.'
result = re.sub(re_str, '*', sentence)
print(result)
补充:正则表达式中中文的判断
判断是否有正文,如果有就打印'不合格',没有打印'合格'
中文的Unicode编码范围:\u4e00-\u9fa5 (正则表达式中Unicode前面需要加'\u')