敏感词过滤python,支持贪婪匹配和全量匹配
时间: 2024-09-18 10:09:59 浏览: 64
敏感词过滤在Python中通常用于处理文本内容,防止某些关键词或短语出现在输出结果中。常见的库如`jieba`、`snowballstemmer`等自然语言处理工具并不直接提供敏感词过滤功能,但可以配合第三方库如`textfilter`、`html5lib`等,或者自定义正则表达式来进行。
`re`模块在Python中提供了强大的正则表达式操作,可以实现贪婪匹配(尽可能多地匹配)和全量匹配(查找所有符合条件的内容)。贪婪匹配使用`.*`,全量匹配一般需要结合`findall()`函数。例如:
```python
import re
def filter_sensitive_words(text, sensitive_list):
pattern = '|'.join(map(re.escape, sensitive_list)) # 转义并连接成正则表达式
filtered_text = re.sub(pattern, '****', text) # 使用sub替换敏感词
return filtered_text
# 使用示例
sensitive_list = ['敏感词1', '敏感词2']
text = "这是一个包含敏感词1和敏感词2的句子"
filtered_text = filter_sensitive_words(text, sensitive_list)
print(filtered_text)
```
阅读全文