正则表达式生成器

通过描述需求或选择常用模式快速生成正则表达式,并实时测试匹配效果

正则表达式生成器
常用正则表达式库

正则构建器
正则构建器 (点击插入到光标位置)
正则表达式
/ /
测试文本
匹配结果
匹配详情
匹配结果将显示在这里...
字符类
语法说明示例匹配
.匹配除换行符外的任意单个字符a.cabc、a1c、a_c
\d匹配数字,等价于 [0-9]\d{3}123、456
\D匹配非数字,等价于 [^0-9]\D+abc、你好
\w匹配字母、数字、下划线,等价于 [a-zA-Z0-9_]\w+hello、user_1
\W匹配非单词字符\W+空格、标点
\s匹配空白字符(空格、Tab、换行等)a\sba b、a  b
\S匹配非空白字符\S+hello、123
[abc]字符集,匹配括号内任意一个字符[aeiou]a、e、i、o、u
[^abc]排除字符集,匹配不在括号内的字符[^0-9]字母、符号
[a-z]字符范围,匹配 a 到 z 之间的字符[a-zA-Z]任意英文字母
量词
语法说明示例匹配
*匹配前面的元素零次或多次(贪婪)ab*cac、abc、abbc
+匹配前面的元素一次或多次(贪婪)ab+cabc、abbc(不匹配 ac)
?匹配前面的元素零次或一次colou?rcolor、colour
{n}恰好匹配 n 次\d{4}2024、1234
{n,}至少匹配 n 次\d{3,}123、12345
{n,m}匹配 n 到 m 次\d{2,4}12、123、1234
*?非贪婪匹配(尽可能少匹配)<.+?>匹配最短的 HTML 标签
+?非贪婪的一次或多次\d+?尽可能少的数字
锚点与边界
语法说明示例匹配
^匹配字符串(或行)的开头;在 m 模式下匹配每行开头^Hello以 Hello 开头的字符串
$匹配字符串(或行)的结尾;在 m 模式下匹配每行结尾world$以 world 结尾的字符串
\b单词边界,匹配单词与非单词字符之间的位置\bcat\bcat(不匹配 catch 中的 cat)
\B非单词边界\Bcat\Bconcatenate 中间的 cat
分组与引用
语法说明示例说明
(abc)捕获组,将括号内的内容作为一个整体,并记录匹配结果(ab)+匹配 ab、abab、ababab
(?:abc)非捕获组,分组但不记录匹配结果,性能更好(?:ab)+同上,但不捕获
(?<name>abc)命名捕获组,通过名称引用捕获结果(?<year>\d{4})捕获年份并命名为 year
\1\2反向引用,引用第 n 个捕获组的内容(\w+)\s\1匹配重复单词,如 "the the"
a|b或运算,匹配 a 或 bcat|dogcat 或 dog
预查(零宽断言)
语法说明示例匹配
(?=abc)正向先行断言:后面必须跟着 abc(不消耗字符)\d+(?=px)匹配 12px 中的 12
(?!abc)负向先行断言:后面不能跟着 abc\d+(?!px)匹配不跟 px 的数字
(?<=abc)正向后行断言:前面必须是 abc(ES2018+)(?<=\$)\d+匹配 $100 中的 100
(?<!abc)负向后行断言:前面不能是 abc(ES2018+)(?<!\$)\d+匹配不跟在 $ 后的数字
修饰符(Flags)
标志说明示例
g全局匹配,找到所有匹配项(不加则只匹配第一个)/\d+/g 匹配所有数字
i忽略大小写/hello/i 匹配 Hello、HELLO
m多行模式,^$ 匹配每行的开头和结尾/^\d/m 匹配每行开头的数字
sdotAll 模式,. 可匹配换行符(ES2018+)/a.b/s 匹配跨行的 a 和 b
uUnicode 模式,正确处理 Unicode 字符(如 emoji)/\p{L}/u 匹配任意字母
gi组合使用:全局 + 忽略大小写/hello/gi
转义字符
语法说明
\.\*\+转义特殊字符,使其作为字面量匹配(需转义的字符:. * + ? ^ $ { } [ ] | ( ) \
\n换行符
\t制表符(Tab)
\r回车符
\uXXXXUnicode 字符,如 \u4e2d 匹配"中"
常用正则速查
场景正则表达式说明
非空字符串^.+$至少包含一个非换行字符
纯数字^\d+$整行全为数字
正整数^[1-9]\d*$不含 0 开头
浮点数^-?\d+(\.\d+)?$可选负号和小数部分
字母数字^[a-zA-Z0-9]+$仅含字母和数字
去除首尾空格^\s+|\s+$配合 replace 使用
重复单词\b(\w+)\s+\1\b利用反向引用检测重复
提取括号内容\(([^)]+)\)捕获组获取括号内文本
关于正则表达式生成器
  • 提供常用正则模式库(邮箱、手机号、URL、IP地址等),一键选用,无需手写复杂正则
  • 内置正则构建器,通过下拉选择字符类、量词、锚点、分组等元素,辅助构建自定义正则
  • 实时高亮显示匹配结果,直观展示正则匹配效果,支持捕获组详情查看
操作说明
  • 从「常用正则模式库」点击选择预置正则,或在输入框手动输入正则表达式
  • 在「测试文本」区域输入待匹配文本,匹配结果实时高亮显示
  • 使用「正则构建器」下拉菜单可将常用元素插入到正则输入框光标位置
  • flags 字段支持 g(全局)、i(忽略大小写)、m(多行)等标志
注意事项
  • 正则表达式使用 JavaScript 引擎,与 Java、Python、.NET 等语言的正则语法略有差异
  • 复杂的回溯正则在大文本上可能导致浏览器卡顿,建议先用小文本测试
  • 所有处理均在浏览器本地完成,不会上传任何数据