Skip to content

正则表达式测试工具

一个功能强大的正则表达式测试工具,帮助您编写、测试和调试正则表达式。

正则表达式测试工具

测试和验证正则表达式,提供实时匹配结果和详细解释

没有找到匹配项

功能特点

  • 实时匹配:输入正则表达式和测试文本后立即显示匹配结果
  • 多模式支持:支持全局(g)、忽略大小写(i)、多行(m)等正则标志
  • 分组捕获:显示匹配结果中的分组信息,包括命名分组
  • 替换功能:支持使用正则表达式进行文本替换
  • 常用正则模板:提供常用正则表达式模板快速选择,按类别分类
  • 高亮显示:在测试文本中高亮显示所有匹配项
  • 错误提示:实时检测并提示正则表达式错误
  • 正则解释:对正则表达式进行分解和解释

使用方法

  1. 在"正则表达式"输入框中输入您的正则表达式
  2. 在"测试文本"区域中输入要测试的文本内容
  3. 选择需要的正则标志(全局、忽略大小写等)
  4. 查看匹配结果、分组信息和正则解释
  5. 可选:使用替换功能进行文本替换操作

常用正则表达式示例

邮箱和身份验证类

  • 电子邮件地址
regex
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
  • 电子邮件地址(严格)
regex
^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$
  • 中国身份证号
regex
^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$
  • 中国手机号码
regex
^1[3-9]\d{9}$
  • 中等强度密码(6-20位字母数字组合)
regex
^(?=.*\d)(?=.*[a-zA-Z]).{6,20}$
  • 强密码(8-20位,含大小写字母和数字)
regex
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,20}$

URL和网络相关

  • URL地址
regex
^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([\/\w .-]*)*\/?$
  • 带查询参数的URL
regex
^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([\/\w .-]*)*\/?\??([\w-]+=[\w-]+&?)*$
  • IPv4地址
regex
^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$
  • IPv6地址
regex
^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$
  • MAC地址
regex
^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$

日期和时间类

  • 日期(YYYY-MM-DD)
regex
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$
  • 日期(DD/MM/YYYY)
regex
^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[0-2])/\d{4}$
  • 24小时制时间
regex
^([01]?[0-9]|2[0-3]):[0-5][0-9]$
  • 12小时制时间
regex
^(0?[1-9]|1[0-2]):[0-5][0-9]\s?(AM|PM|am|pm)$
  • 日期时间(YYYY-MM-DD HH:MM:SS)
regex
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])\s(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$

数字和金额类

  • 整数(正负均可)
regex
^-?\d+$
  • 正整数
regex
^[1-9]\d*$
  • 小数(正负均可)
regex
^-?\d+\.\d+$
  • 人民币金额(元)
regex
^\d+(\.\d{1,2})?$
  • 带货币符号的金额
regex
^[¥$€]?\s?\d{1,3}(,\d{3})*(\.\d{1,2})?$
  • 百分比
regex
^100(\.0{1,2})?%$|^\d{1,2}(\.\d{1,2})?%$

文本和字符串类

  • 中文字符
regex
[\u4e00-\u9fff]
  • 英文字母
regex
^[a-zA-Z]+$```
- **用户名(4-20位字母数字下划线)**:
```regex
^[a-zA-Z0-9_]{4,20}$
  • 十六进制颜色代码
regex
^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$
  • HTML标签
regex
<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)
  • JSON格式
regex
^{\s*"[^"]*"\s*:\s*("[^"]*"|\d+|true|false|null)\s*(,\s*"[^"]*"\s*:\s*("[^"]*"|\d+|true|false|null)\s*)*}$

特殊用途类

  • XML标签
regex
<([a-zA-Z][a-zA-Z0-9]*)\b[^>]*>(.*?)<\/\1>
  • Base64编码
regex
^[A-Za-z0-9+/]*={0,2}$
  • MD5哈希值
regex
^[a-fA-F0-9]{32}$
  • SHA1哈希值
regex
^[a-fA-F0-9]{40}$
  • UUID
regex
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
  • 信用卡号
regex
^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|6(?:011|5[0-9]{2})[0-9]{12}|(?:2131|1800|35\d{3})\d{11})$
  • ISBN号
regex
^(?:ISBN(?:-1[03])?:? )?(?=[0-9X]{10}$|(?=(?:[0-9]+[- ]){3})[- 0-9X]{13}$|97[89][0-9]{10}$|(?=(?:[0-9]+[- ]){4})[- 0-9]{17}$)(?:97[89][- ]?)?[0-9]{1,5}[- ]?[0-9]+[- ]?[0-9]+[- ]?[0-9X]$
  • HTML注释
regex
<!--.*?-->
  • CSS十六进制颜色
regex
#([a-fA-F0-9]{3}|[a-fA-F0-9]{6})\b
  • CSS RGB颜色
regex
rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)
  • CSS RGBA颜色
regex
rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*([01]|0?\.\d+)\s*\)

正则表达式标志

  • g (全局):查找所有匹配而非在第一个匹配后停止
  • i (忽略大小写):匹配时忽略大小写差异
  • m (多行):使 ^ 和 $ 匹配每行的开头和结尾
  • s (单行):使点号 . 匹配包括换行符在内的所有字符
  • u (Unicode):正确处理Unicode字符
  • y (粘性):从目标字符串的当前位置开始匹配

正则表达式语法参考

基本匹配

  • .:匹配任意单个字符(除换行符外)
  • \w:匹配字母、数字、下划线
  • \d:匹配数字
  • \s:匹配空白字符
  • [abc]:匹配方括号中的任意一个字符

量词

  • *:匹配前面的元素零次或多次
  • +:匹配前面的元素一次或多次
  • ?:匹配前面的元素零次或一次
  • {n}:匹配前面的元素恰好n次
  • {n,}:匹配前面的元素至少n次
  • {n,m}:匹配前面的元素至少n次,但不超过m次

位置锚点

  • ^:匹配字符串的开始
  • $:匹配字符串的结束
  • \b:匹配单词边界

分组和捕获

  • (expr):捕获分组,匹配expr并捕获匹配项
  • (?:expr):非捕获分组,匹配expr但不捕获匹配项
  • (?<name>expr):命名捕获分组,匹配expr并将匹配项捕获到名称为name的组中

替换功能

使用替换功能时,您可以使用以下特殊替换模式:

  • $&:插入匹配的子串
  • $n:插入第n个捕获分组匹配的子串,其中n是1-99的数字
  • $<name>:插入命名捕获分组匹配的子串
  • $$:插入一个"$"字符

技术说明

本工具使用JavaScript正则表达式引擎,与现代浏览器中的正则表达式功能完全兼容。所有匹配和替换操作均在浏览器端完成,无需服务器交互,确保您的数据隐私和安全。

其他工具

如果您需要其他开发工具,请查看我们的工具合集