freeeyes 发表于 2011-6-17 15:07:34

python结合re过滤敏感词

越来越觉得Python可爱了,最近写一个过滤敏感词的类,因为好多地方需要用。于是查了一些资料。发现实现代码挺简单的,在这里记录一下。
import re
from Common.CommonSingleton import CSingleton

class CSensitiveFilter(CSingleton):
    #初始化类
    def __init__(self):
      self.filename='word.dat'
      self.strPatton='(';
      self.readFlag = False;
      self.pattern='';
      self.readFilterPatten();
      
    def init(self):
      if self.readFlag == False:
            self.readFilterPatten();
      
    #读取敏感词文件,构造过滤pattern   
    def readFilterPatten(self):
      
      file = open(self.filename)
      for eachline in file:
            self.strPatton=self.strPatton+eachline.replace('\n','')+'|';
      self.strPatton=self.strPatton[:-1]+")"
      file.close();
      self.readFlag=True;
      self.pattern = re.compile(self.strPatton)
      
    #敏感词过滤
    def filter(self,message):
      
      return self.pattern.sub('*',message)
   
    #判断是否有敏感字
    def judgeSpecialSign(self,message):
      
      match = self.pattern.match(message.strip());
      if match == None:
            return True;
      return False;
页: [1]
查看完整版本: python结合re过滤敏感词