正则表达式测试工具

免费在线正则表达式测试工具,支持实时测试正则表达式匹配结果,支持全局匹配、忽略大小写、多行模式等标志位,显示匹配数量、匹配内容、捕获组信息,是学习调试正则的得力工具。

/
/
匹配结果:0
输入正则表达式并点击"测试匹配"查看结果

替换功能

替换结果将显示在这里...

工具介绍

了解正则表达式测试工具的功能特点和使用方法

什么是正则表达式?

正则表达式(Regular Expression,常简写为regex、regexp或RE)是一种文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为"元字符")。它使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

功能特点

  • 实时匹配:输入正则表达式后点击测试,立即显示所有匹配结果。
  • 多种标志位:支持g(全局)、i(忽略大小写)、m(多行)、s(dotAll)、u(Unicode)等标志位。
  • 捕获组信息:显示每个匹配的详细信息,包括匹配位置、匹配内容、捕获组等。
  • 替换功能:支持使用正则表达式进行文本替换,支持$1、$2等捕获组引用。
  • 常用正则:提供常用正则表达式示例,点击即可快速使用。
  • 本地运行:所有操作都在浏览器本地完成,数据不会上传服务器。

正则表达式语法速查

常用元字符:

  • . - 匹配除换行符以外的任意字符
  • \w - 匹配字母、数字、下划线
  • \d - 匹配数字
  • \s - 匹配任意空白字符
  • ^ - 匹配字符串的开始
  • $ - 匹配字符串的结束
  • \b - 匹配单词边界

常用量词:

  • * - 重复零次或更多次
  • + - 重复一次或更多次
  • ? - 重复零次或一次
  • {n} - 重复n次
  • {n,} - 重复n次或更多次
  • {n,m} - 重复n到m次

常见问题

关于正则表达式测试工具的常见问题解答

什么是正则表达式的标志位? +
标志位(Flags)用于修改正则表达式的匹配行为。常见的标志位有:g(全局匹配,查找所有匹配而非第一个)、i(忽略大小写)、m(多行模式,^和$匹配每行的开头和结尾)、s(dotAll模式,.可以匹配换行符)、u(Unicode模式,正确处理Unicode字符)。
什么是捕获组?如何使用? +
捕获组是用括号()括起来的正则表达式部分,它们会把匹配到的内容保存起来,可以在后续通过$1、$2等方式引用。例如正则(\d{4})-(\d{2})-(\d{2})匹配日期时,$1是年份,$2是月份,$3是日期。
贪婪匹配和非贪婪匹配有什么区别? +
贪婪匹配会尽可能多地匹配字符,而非贪婪匹配会尽可能少地匹配字符。默认情况下*、+、?都是贪婪的,在它们后面加上?就变成非贪婪的。例如.*是贪婪的,.*?是非贪婪的。
如何匹配中文字符? +
可以使用Unicode范围[\u4e00-\u9fa5]来匹配基本的中文字符。如果需要匹配更多汉字,可以使用更宽的范围或使用\u的方式指定具体的Unicode码点。在支持Unicode属性的环境中,也可以使用\p{Han}来匹配汉字。
支持哪些正则表达式语法? +
本工具使用JavaScript内置的正则表达式引擎,支持ES6规范的正则表达式语法,包括字符类、量词、分组、反向引用、断言等。如果您使用的是其他语言(如Python、Java等)的正则,语法可能会有细微差别。