一、re.sub(pattern, repl, string, count=0, flags=0)

  • pattern 正则表达式
  • repl 替换的字符串,也可为一个函数
  • string 要被查找替换的原始字符串
  • count 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配
  • flag 编译时用的匹配模式,数字形式

二、示例

-1.脱敏日志内容

  def format_userid(self,match):
        '''
        格式化用户id:
        :param match:
        :return:
        '''
        # match.group(0) 匹配的语句
        # match.group(1) 匹配后的第一个分组语句,()里的为分组语句
        if match.group(1)!="null":
            user_id:str=match.group(1)
            format_userid=user_id.replace(user_id[4:-4],"*"*len(user_id[4:-4]))
            return f"脱敏后用户id为:{format_userid};"

	 line=“用户id:440300016765;用户名称:人员26946;用户ip:192.168.1.80”
     format_userid=re.sub(r'用户id:(.*?);',self.format_userid,line)
     print(format_userid)
  • 结果
脱敏后用户id:4403****6765;

更多推荐

python正则表达式匹配并替换为指定字符