正则表达式
正则表达式
定义
正则表达式是一种文本模式。
正则表达式 = 普通字符 + 特殊字符(元字符)
语法
特殊字符 | 描述 |
---|---|
[...] | 匹配其中的所有字符,也即“取值范围” |
[^...] | 不匹配其中的所有字符,当^在[]中时表示取反操作 |
(...) | 子表达式 |
限定前一个组件的匹配次数为大于beg次,小于end次,也即“取值范围” | |
| | 左右两项之间的一个选择,也即“或” |
^...匹配字符串结束的位置 | |
. | 匹配换行符 |
* | 匹配前面的模式任意次 |
+ | 匹配前面的模式至少一次 |
? | 匹配前面的模式零次或一次 |
exp1(?=exp2) | 查找 exp2 前面的 exp1 |
(?<=exp2)exp1 | 查找 exp2 后面的 exp1 |
exp1(?!exp2) | 查找后面不是 exp2 的 exp1 |
(?<!exp2)exp1 | 查找前面不是 exp2 的 exp1。 |
Python3 实现
re.match
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
re.match(pattern, string, flags=0)
re.search
re.search 扫描整个字符串并返回第一个成功的匹配。
re.match(pattern, string, flags=0)
python3 匹配中英文标点符号
在某些敏感词检测场景中,需要忽略敏感词内部的标点符号,以此来提升检测的准确率。
代码示例如下:
import regex as re
p = "稳[\p{P}|\s]*赚"
s = "稳,。:;‘“!?、- ——%@#()【】{} ,.:;'\"!?- _%@#()[]{}赚不赔"
pattern = re.compile(p)
print(pattern.search(s))
程序运行结果显示,成功识别出敏感词。
[Reference]
智慧在街市上呼喊,在宽阔处发声。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)