正则表达式

一、什么是正则

定义:一套匹配字符串的规则

  • 检测一段字符串是不是合法
  • 从一个大文件中找到所有符合规则的内容

原字符 自能匹配一个字符

正则 说明
[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就停下来

转义符 \

  • 原本有特殊意义的字符,到了他表示本身意义的时候,需要转义

  • 有一些特殊意义的内容,放在字符组中,会取消他的特殊意义

    • [() . * +?] 所有内容都会取消他的特殊意义
posted @   EJW  阅读(80)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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
点击右上角即可分享
微信分享提示