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匹配单词字符和非单词字符之间的边界。