python 正则过滤中文、英文、数字、特殊字符demo
一般情况下,模型不能百分百实现完成功能情况下,需要采用特定trick二次升级,正则是一个重要的手段,之前也有总结,现将最近完成测试代码总结如下,希望能够帮到你解决问题。
import re # 匹配中文 CN_PATTERN = re.compile(u'[\u4e00-\u9fa5]') # 匹配英文和数字 NUM_PATTERN = re.compile(r'[A-Za-z0-9]+') # 匹配关键词 KEYWORDS_PATTERN = re.compile(r'新疆大学|世界|外汇|中国') # 特殊自负 SPECIAL_CHAR_PATTERN = re.compile(r'[’!"#$%&\'()*+,-./:;<=>?@,。?★、…【】《》?“”‘’!\[\\\]^_`{|}~]+') def regular_fun(s): cn = CN_PATTERN.findall(s) num = NUM_PATTERN.findall(s) words = KEYWORDS_PATTERN.findall(s) print(cn, num, words) if __name__ == '__main__': t1 = r'this boy chincese name, NLPer, 18 years old' t2 = r'当前测试数据全是中文' t3 = r'current data is all english!' t4 = r'ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd这是一个对用户预填垃圾信息过滤方案' t5 = r'新疆大学(Xinjiang University),简称“新大”,位于新疆维吾尔自治区首府乌鲁木齐,是世界一流大学建设高校(B类)' t6 = r'%^&&*^*(^&*(%&%$#$@#%^#' regular_fun(t1) regular_fun(t2) regular_fun(t3) regular_fun(t4) regular_fun(t5) regular_fun(t6) print(SPECIAL_CHAR_PATTERN.findall(t3))
这里强调一点,对于关键词的应用大家不要小看了,合理的应用会给精度、用户体验等都带来提升。不要怕关键词多,同时对于关键词归类、排序等(对于有序的数值,查找起来是不是会效率更高?同理),借鉴阿里文娱一张图说明下:
时刻记着自己要成为什么样的人!
分类:
NLP
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)