1.正则表达式的介绍

 1. 导包             import re  2. 正则校验.             re.match(pattern=正则表达式, str, flag)       参1: 正则表达式,  参2: 要校验的字符串, 参3:可选项, 例如: 忽略大小写, 多行模式等.             re.search(pattern=正则表达式, str, flag)             re.compile(正则表达式).sub(用来替换的内容, 要被替换的内容)  3. 获取匹配结果.             result = re.group()     上述函数 介绍:         match:  匹配的意思, 从左往右, 逐个字符进行匹配, 不会跳过任意的1个字符, 要求: 全部匹配才行.         search: 查找的意思, 从左往右, 从任意的某个字符开始, 只要能匹配上即可.         compile:

                    写法1:                                 re.compile(正则表达式).sub(用来替换的内容, 要被替换的内容)

                    写法2: 即, 上述格式的语法糖.                                 re.sub(正则表达式, 用来替换的内容, 要被替换的内容)

2.实例

import re

# it.*   it + 后续任意内容. result = re.match('it.*', 'sdit123sf')

# search: 查找的意思, 从左往右, 从任意的某个字符开始, 只要能匹配上即可. result = re.search('it.*', 'sdit 123sf')

# 打印结果 if result:                              # 只要result不是None, 就会走这里.     # print(result)                 # 匹配到的正则对象     print(result.group())       # 从正则中, 获取具体 匹配到的内容. else:     # print(result)                 # None     print('未匹配!')

# 需求1: 把字符串中的"敏感词" 给 替换成 * old_str = "车主说: 你的刹车片应该换了啊, 嘿嘿"

# 1. 自定义正则规则. p = r'啊|阿|嘿|呵|哈|啦|嘻|桀'        # pattern: 模板(可以理解为: 正则规则),  字符串前加r表示, 取消转移.

# 2. 基于正则规则, 获取正则对象. res = re.compile(pattern=p)     # pattern=具体的正则字符串

# 3. 对上述的字符串进行替换. result = res.sub('A', old_str)  # 返回的是: 字符串.

# 4. 打印匹配结果. if result:     print(f'匹配到: {result}') else:     print('未匹配!')

print('-' * 31)

# 需求2: 上述代码的简化版, 语法糖实现 old_str = "故人西辞黄鹤楼, 烟花三月黄鹤楼, 中华虽然好抽, 但是不要上瘾, 抽烟只抽煊赫门, 一生只爱一个人!" # 参1: 正则表达式. # 参2: 用来替换的字符串. # 参3: 要被替换的字符串. result = re.sub('黄鹤楼|中华|煊赫门', '*', old_str) print(result)

3.正则规则

        .           代表: 任意的1个字符         \.          取消.的特殊含义, 就是一个普通的. 校验邮箱的时候用, 例如: zhangsan@163.com         a           代表: 就是1个普通的字符a         [abc]       代表: a,b,c其中的任意1个字符         [^abc]      代表: 除了a,b,c外, 任意的1个字符         \d          代表: 所有的数字, 等价于 [0-9]         \D          代表: 所有的非数字, 等价于 [^0-9]         \s          代表: 空白字符, \n, 空格, \t等...         \S          代表: 非空白字符, 即: 上述取反.         \w          代表: 非特殊字符, 即: 字母, 数字, _ 下划线, 汉字         \W          代表: 特殊字符, 即: 上述取反.

        ^           代表: 开头      '^[^abc].*'    表示非a,b,c中任意一个字母开口的         $           代表: 结尾

        ?           数量词, 至少0次,至多1次         +           数量词, 至少1次, 至多n次         *           数量词, 代表前边的内容, 至少出现 0次, 至多出现 n次         {n}         恰好n次, 多一次少一次都不行.         {n,}        至少n次, 至多无所谓         {n,m}       至少n次, 至多m次, 包括n和m

推荐文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。