Regex 测试器

实时匹配高亮、捕获组和查找替换,测试和调试正则表达式。

测试正则表达式

模式
测试字符串
高亮匹配
替换字符串
替换输出

如何使用此正则测试器

第一步:在顶部的模式字段中输入正则表达式。工具会实时验证您的正则,语法无效时会显示错误。

第二步:选择所需的标志:g(全局 — 查找所有匹配)、i(不区分大小写)、m(多行 — 使 ^ 和 $ 匹配行边界)或 s(dotAll — 使 . 匹配换行符)。

第三步:在下方文本区域中粘贴或输入测试文本。输入时匹配项会即时高亮显示。匹配信息面板显示匹配总数、位置和捕获组。

第四步:切换到替换标签测试查找替换。使用 $1$2 引用捕获组,实时查看结果。

正则语法快速参考

字符类:\d 匹配任意数字,\w 匹配单词字符(字母、数字、下划线),\s 匹配空白。大写(\D\W\S)表示取反。自定义字符类用括号:[aeiou] 匹配任意元音,[^0-9] 匹配非数字。

量词:* 匹配零次或多次,+ 匹配一次或多次,? 匹配零次或一次。使用 {n} 精确匹配 n 次,{n,m} 匹配 n 到 m 次。在量词后加 ? 变为懒惰匹配。

锚点和边界:^ 匹配行开头,$ 匹配行结尾。\b 匹配单词边界 — 对于匹配完整单词而不产生部分匹配至关重要。例如,\bcat\b 匹配 "cat" 但不匹配 "category"。

分组和环视:() 创建捕获组。(?:) 是非捕获组。(?=...) 是正向前瞻,(?!...) 是负向前瞻,(?<=...) 是正向后瞻。

如何使用正则表达式

正则表达式 (regex) 是描述一组字符串的模式。几乎每种编程语言都使用正则进行文本搜索输入验证查找替换数据提取。输入模式,选择标志,粘贴测试文本,匹配项会实时高亮。

标志修改模式的应用方式:g(全局)查找所有匹配;i(不区分大小写)忽略大小写;m(多行)使 ^$ 匹配行边界;s(dotAll)使 . 匹配换行符。

替换标签可用于测试替换。使用 $1$2 等引用捕获组。例如,模式 (\w+)@(\w+) 加替换 $2/$1 可将 user@domain 转换为 domain/user

常见正则模式

邮箱:[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} — 匹配大多数标准邮箱格式。
URL:https?://[^\s/$.?#].[^\s]* — 匹配 HTTP 和 HTTPS URL。
电话(美国):\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4} — 匹配常见美国电话格式。
IPv4:\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b — 匹配 IP 地址。
完整单词:\bword\b — 使用单词边界匹配完整单词。

常见问题

什么是正则表达式?
正则表达式是用于匹配、搜索和操作文本的字符模式。几乎每种编程语言都支持它,对验证、解析和文本处理至关重要。
如何在线测试正则?
在上方输入模式,选择标志(g、i、m、s),粘贴测试文本。匹配项会实时高亮显示位置和捕获组。
什么是捕获组?
括号 () 中的文本会捕获匹配的子字符串以供后续引用。在替换字符串中使用 $1$2。命名组使用 (?<name>...) 语法。
g 标志有什么作用?
g(全局)标志查找字符串中的所有匹配项,而不是在第一个匹配后停止。大多数查找替换操作需要此标志。
如何匹配完整单词?
使用单词边界锚点:\bword\b。这匹配“word”但不匹配“sword”或“wordy”。\b 匹配单词字符和非单词字符之间的边界。