airegexp.com

正则可视化
示例
功能
速查表
导出为SVG
生成代码示例
分享正则表达式
设置选项
鼠标悬停在元素上查看详细说明

【脑】输入

【筋】输出

正则片断(单击输入)

映射表编辑

常用正则表达式示例

点击示例可直接在可视化器中查看,我们提供了常见的使用场景分类。

验证类 实用

电子邮件
验证常见的电子邮件格式
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
中国手机号
验证中国大陆手机号码格式
^(?:(?:\+|00)86)?1[3-9]\d{9}$
URL地址
匹配常见的网址格式
^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$
中国身份证
验证中国大陆身份证号
^[1-9]\d{5}(?:19|20)\d{2}(?:0[1-9]|1[0-2])...

提取类 常用

单词提取
提取文本中的单词,包括带撇号的单词
\b\w+(?:'\w+)?\b
HEX颜色
提取16进制颜色代码
#[a-fA-F0-9]{6}
IP地址
匹配有效的IPv4地址格式
\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}...
中文字符
匹配连续的中文字符
[\u4e00-\u9fa5]+

格式类 进阶

日期格式
匹配日期格式,如YYYY-MM-DD
^(?:19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$
时间格式
匹配时间格式,如HH:MM:SS
^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$
强密码
至少8位,包含大小写字母、数字和特殊字符
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$

高级模式 复杂

社交媒体标签
匹配社交媒体中的标签(hashtags)
(?<=\s|^)#[a-zA-Z0-9_]+(?=\s|$)< /div>
先行断言
使用先行断言验证密码格式
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
多格式日期
匹配多种分隔符的日期格式
^\d{4}(-|(\/)|(.)){1}((0[1-9])|(1[0-2])){1}...

新增示例 新增

自定义格式
匹配特定格式:2字母-2数字-2字母-4数字
^[A-Z]{2}\d{2}[A-Z]{2}\d{4}$
查找重复词
查找文本中重复的单词
\b(\w+)\b(?=.*\s+\1\b)
HTML标题提取
从HTML中提取title标签内容
(?<=).*?(?=)
负向先行断言
匹配不是特定关键词的单词
\b(?!(?:if|else|while|for|switch)\b)\w+\b

元字符示例 学习

小数
匹配小数格式
\d+\.\d+
空白字符
匹配被空白字符包围的单词
\s+\w+\s+
单词边界
使用\b匹配单词边界
.*\btest\b.*
行匹配
使用^和$匹配整行
^.*$

高级功能

这些高级功能可以帮助你更深入地理解和应用正则表达式。

正则表达式调试器 新功能

逐步查看正则表达式的匹配过程,了解每个部分如何工作。

点击"开始调试"来分析正则表达式的匹配过程

正则表达式生成器 实用工具

根据描述自动生成正则表达式,无需记忆复杂语法。

选择一个模式并点击"生成正则表达式"

替换工具 高级

使用正则表达式执行强大的文本替换操作。

当前正则表达式将匹配组1,并与组2一起格式化

性能分析 专家

分析正则表达式的执行性能和优化建议。

点击"执行性能分析"来评估正则表达式的效率

正则表达式速查表

基本字符

符号 说明 示例
. 匹配除换行符以外的任意字符 a.c 匹配 "abc", "adc" 等
\d 匹配数字,等价于 [0-9] \d{3} 匹配 "123", "456" 等
\D 匹配非数字,等价于 [^0-9] \D+ 匹配 "abc", "xyz" 等
\w 匹配字母、数字、下划线,等价于 [A-Za-z0-9_] \w+ 匹配 "abc123", "test_123" 等
\W 匹配非字母、数字、下划线,等价于 [^A-Za-z0-9_] \W+ 匹配 "!@#", "%-=" 等
\s 匹配任意空白字符,包括空格、制表符、换行符 a\sb 匹配 "a b", "a\tb" 等
\S 匹配非空白字符 \S+ 匹配任何非空白字符序列
\b 匹配单词边界 \bword\b 匹配完整单词 "word"
\B 匹配非单词边界 \Bword 匹配 "keyword" 中的 "word"

量词和位置

符号 说明 示例
* 匹配前面的表达式 0 次或多次 a* 匹配 "", "a", "aa", "aaa" 等
+ 匹配前面的表达式 1 次或多次 a+ 匹配 "a", "aa", "aaa" 等
? 匹配前面的表达式 0 次或 1 次 colou?r 匹配 "color" 和 "colour"
{n} 匹配前面的表达式恰好 n 次 a{3} 匹配 "aaa"
{n,} 匹配前面的表达式至少 n 次 a{2,} 匹配 "aa", "aaa" 等
{n,m} 匹配前面的表达式 n 到 m 次 a{1,3} 匹配 "a", "aa", "aaa"
^ 匹配字符串开始位置 ^abc 匹配以 "abc" 开头的字符串
$ 匹配字符串结束位置 abc$ 匹配以 "abc" 结尾的字符串

特殊符号

符号 说明 示例
| 或运算符,匹配 | 前或后的表达式 cat|dog 匹配 "cat" 或 "dog"
() 分组,将括号内的表达式视为一个整体 (ab)+ 匹配 "ab", "abab", "ababab" 等
(?:) 非捕获分组,不创建反向引用 (?:ab)+ 类似 (ab)+,但不捕获匹配
[abc] 字符集,匹配方括号中的任意字符 [aeiou] 匹配任何元音字母
[^abc] 反向字符集,匹配不在方括号中的任意字符 [^0-9] 匹配任何非数字字符
(?=) 正向先行断言,匹配后面跟着括号内表达式的位置 a(?=b) 匹配后面跟着 "b" 的 "a"
(?!) 负向先行断言,匹配后面不跟着括号内表达式的位置 a(?!b) 匹配后面不跟着 "b" 的 "a"
(?<=)< /td> 正向后行断言,匹配前面跟着括号内表达式的位置 (?<=a)b 匹配前面有 "a" 的 "b"
(? 负向后行断言,匹配前面不跟着括号内表达式的位置 (? 匹配前面没有 "a" 的 "b"

标志说明

标志 说明 示例
g 全局匹配,找到所有匹配项而非在第一个匹配后停止 /a/g 匹配所有 "a"
i 忽略大小写匹配 /a/i 匹配 "a" 和 "A"
m 多行匹配,^ 和 $ 分别匹配每行的开头和结尾 /^a/m 匹配每行开头的 "a"
s 使 . 匹配包括换行符在内的所有字符 /a.b/s 匹配 "a\nb"
u 启用 Unicode 匹配 /\u{1F600}/u 匹配 Unicode 表情符号
y 执行"粘性"搜索,匹配从目标字符串的当前位置开始 /b/y 只在索引处匹配 "b"

正则表达式优化技巧

  • 使用非捕获分组 (?:) 代替捕获分组 (),当不需要引用匹配内容时
  • 避免使用 .* 这样的贪婪匹配,尤其在大文本中,可以使用 .*? 非贪婪匹配代替
  • 优先使用字符类简写(如 \d 代替 [0-9])提高可读性
  • 合理使用断言((?=), (?!))来创建复杂条件,而不增加匹配组
  • 对于复杂模式,考虑分解为多个简单正则表达式,逐步处理
  • 使用准确的量词范围(如 {2,4})代替泛泛的 +*,提高效率
  • 锚点(^, $, \b)能显著提高匹配效率,限定搜索范围

正则表达式可视化工具使用指南

基本使用

1. 在输入框中输入正则表达式

2. 点击"可视化"按钮生成图形化表示

3. 在测试文本框中输入文本,查看匹配结果

新增功能

  • 显示匹配位置:以竖线标记正则表达式匹配的精确位置
  • 高亮捕获组:用不同颜色标记不同捕获组的匹配内容
  • 视图选择:选择加宽、标准或详细视图模式
  • 正则表达式调试器:逐步查看匹配过程
  • 正则表达式生成器:根据常见模式自动生成正则表达式

正则表达式基础

正则表达式是用于匹配字符串中字符组合的模式。它由以下几个部分组成:

  • 字符类:如 \d(数字)、\w(字母、数字、下划线)、\s(空白字符)
  • 量词:如 *(零次或多次)、+(一次或多次)、?(零次或一次)、{n,m}(n到m次)
  • 锚点:如 ^(行首)、$(行尾)、\b(单词边界)
  • 分组:使用括号 () 进行分组处理,创建捕获组
  • 选择:使用 | 表示"或"关系
  • 断言:如 (?=...)(正向先行断言)、(?!...)(负向先行断言)

交互技巧

  • 鼠标悬停在可视化元素上可以查看详细说明
  • 点击示例可以快速加载预设的正则表达式
  • 使用"随机示例"按钮探索不同的正则表达式模式
  • 在"高级功能"标签中尝试调试和生成功能
  • 查看"速查表"随时参考正则表达式语法
提示: 复杂的正则表达式可以分解为多个小部分来理解,通过可视化工具可以更容易看清每个部分的作用。

代码示例

JavaScript
Python
PHP
Java

                            
                        

                            
                        

                            
                        

                            
                        

设置选项

外观设置

主题颜色

可视化设置

分享正则表达式

复制链接

下面的链接包含了当前的正则表达式和选项设置:


                        
                    

导出格式

🎲