MonkeyHua

通用正则表达式汇总

介绍

正则表达式提供强大的查找和替换功能,绝大部分语言(C#PythonJava等)及大多数工具(Notepad++VsCodeVs等)都提供内部支持。

分类

  • 单字符匹配(Single Match):用来匹配单个字符;
  • 字符集匹配(Sets Match):用来匹配多个字符;
  • 特殊字符匹配(Special Match):此处代指转义字符;
  • 空白字符匹配(Whitespace Match):包含换行符、Tab字符等;
  • 字符类型匹配(Type Match):用来匹配字母、数字、空白字符等;
  • 重复匹配(Repeat Match):用来匹配零次、一次、多次等;
  • 位置匹配(Position Match):用来匹配字母、字符边界位置;
  • 子表达式匹配高级(Subexpression Match):用来提供分组匹配;
  • 反向引用匹配高级(Backreference Match):同时搭配子表达式匹配,可提供强大的替换功能;
  • 前后匹配高级(Lookaround Match):用来向前匹配和向后匹配;
  • 条件匹配高级(Condition Match):一般搭配反向引用匹配和前后匹配来使用。

元字符速览表

类别 元字符 备注 说明
单字符 . 匹配单个任意字符
字符集 [] 匹配多个字符中的一个
[-] 匹配字符范围中的一个
[^] 匹配除当前字符集以外的字符
特殊 \ 用于转义其他元字符
空白 [\b] 退格键(Backspace)
\f 换页键(Form feed)
\n 换行(Line feed)
\r 回车(Carriage return)
\t 水平制表符(Tab)
\v 垂直制表符(Vertical tab)
类型 \d [0-9] 匹配任何数字字符
\D [^0-9] 匹配任何非数字字符
\w [a-zA-Z0-9_] 匹配任何字母、数字、下划线
\W [^a-zA-Z0-9_] 匹配字母、数字、下划线以外的字符
\s [\f\n\r\t\v] 匹配任何空白字符
\S [^\f\n\r\t\v] 匹配任何非空白字符
\x 匹配十六进制值对应的ASCII字符
\0 匹配八进制值对应的ASCII字符
重复 + 匹配一个或多个字符
* 匹配零个或多个字符
匹配零个或一个字符
{3} 确定次数匹配
{2,4} 次数范围匹配
{3,} 最小次数匹配
+? 匹配一个或多个字符(Lazy)
*? 匹配零个或多个字符(Lazy)
{n,}? 次数范围匹配(Lazy)
位置 \b 匹配字母开始或者结束位置
^ 匹配字符开始位置
$ 匹配字符结束位置
(?m) 部分支持 置于开始处,代表支持匹配多行
子表达式 () 用于成组匹配
反向引用 \1 \2 $1 $2 平台间格式有差异 用于引用第一项、第二项子表达式
\E 替换时用 作为\L或者\U终止符
\l 替换时用 下一个字符转换成小写
\L 替换时用 下一个字符至\E转换成小写
\u 替换时用 下一个字符转换成大写
\U 替换时用 下一个字符至\E转换成大写
前后 (?=) 不包括匹配字符 根据匹配字符向前查找内容
(?<=) 部分支持 根据匹配字符向后查找内容
(?!) 根据非匹配字符向前查找内容
(?<!) 部分支持 根据非匹配字符向后查找内容
条件 (?(backref)true) 反向引用条件匹配
(?(look)true) 前后条件匹配

参考链接

  1. 学习正则表达式书籍
  2. 在线正则表达式工具网站

posted on 2026-03-24 15:13  MonkeyHua  阅读(7)  评论(0)    收藏  举报

导航