正则表达式
一、什么是正则
定义:一套匹配字符串的规则
- 检测一段字符串是不是合法
- 从一个大文件中找到所有符合规则的内容
原字符 自能匹配一个字符
正则 | 说明 |
---|---|
[a-z] [A-Z] [0-9] [sadfsdaf] | 匹配括号内任意字符 |
\d | 0-9的任意数字 |
\w | 匹配所有数字字母下划线 |
\s | 匹配所有空白 |
\D | 匹配所有非字符串 |
\S | 匹配所有非空白 |
. | 匹配除了换行符之外的所有 |
^ | 以什么什么开头的 |
$ | 以什么什么结尾的 |
^aa$ | 只能匹配aa |
| | 匹配|左右或者右边的字符 |
\ | 转义符号 |
() www.(aa|bb|cc).com | 定义或的作用域 |
量词,匹配多少次
header 1 | 说明 |
---|---|
匹配n次 \d{2}匹配一个两位数字 | |
表示至少匹配n次 | |
表示至少匹配n次,最多m次 | |
? | 表示匹配0次或1次 |
+ | 表示1次或多次 |
* | 表示0次或多次 |
\d+ | 整数 |
\d+\. \d+ | 小数 |
\d+.?\d* | 整数或者小数 |
\d+(\. \d+)? | 分组的作用(\. \d+)? 表示 配0个或1个.和数字 |
-
贪婪匹配,在量词范围允许的情况下尽可能多的匹配 .*x 表示匹配任意字符,任意多次,遇到最后一个x才停下来 \d{3,}6
-
非贪婪匹配(惰性),量词? \d{3,}?6 遇到一个6就停止
-
.*?x 表示匹配任意字符,任意多次数,但是一旦遇到X就停下来
转义符 \
-
原本有特殊意义的字符,到了他表示本身意义的时候,需要转义
-
有一些特殊意义的内容,放在字符组中,会取消他的特殊意义
- [() . * +?] 所有内容都会取消他的特殊意义
本文来自博客园,作者:EJW,转载请注明原文链接:https://www.cnblogs.com/ejjw/p/13417736.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix