正则表达式测试器
/
/
常用规则库:

匹配结果

在线正则表达式语法速查表

正则表达式(REGULAR EXPRESSION,简称 REGEX/REGEXP)是计算机科学中的一个强力工具,通过定义一种“字符模式”来快速查找、匹配和替换文本。作为一款专业的正则表达式在线测试工具,掌握其语法能让您的正则测试效率呈指数级上升。无论是使用在线正则表达式工具剥离关键数据还是进行表单验证,熟练运用正则在线测试都是开发者的基本功。

语法 (PATTERN) 描述 (DESCRIPTION) 示例 (EXAMPLE)
字符与缩写类 (CHARACTER CLASSES)
. 匹配除换行符以外的任何单个字符。 a.c 匹配 "abc", "a1c"
\w 匹配任何字母数字字符和下划线 (`[a-zA-Z0-9_]`)。 \w+ 匹配 "hello_world"
\d 匹配任意个位数字 (`[0-9]`)。 \d{4} 匹配 "2026"
\s 匹配任意空白字符(空格、制表符、换行符)。 \s+ 匹配连串空格
\W, \D, \S 对应上述缩写的大写字母,意为**取反**(如 \D 匹配非数字)。 \D+ 匹配纯英文字串
锚点与边界 (ANCHORS & BOUNDARIES)
^ 匹配字符串的开始。如开启 m (多行) 则匹配行首。 ^Hello
$ 匹配字符串的结束。如开启 m (多行) 则匹配行尾。 end$
\b 匹配单词边界(单词与非单词之间的位置)。 \bword\b 匹配独立单词word
量词 (QUANTIFIERS)
* 匹配前一个元素 **0 次或多次**。 a*b 匹配 "b", "ab", "aab"
+ 匹配前一个元素 **1 次或多次**。 a+b 匹配 "ab", "aab"
? 匹配前一个元素 **0 次或 1 次**(可选)。也用于打破贪婪模式。 https? 匹配 http 或 https
{n,m} 精确控制匹配次数。匹配最少 n 次,最多 m 次。 \d{3,5} 匹配 3-5 位数字
逻辑与分组 (GROUPS & LOGIC)
| 或 (OR) 逻辑。匹配左边或右边的表达式。 cat|dog
[abc] 字符集合。匹配在中括号内的任意字符。 [a-z] 匹配任意小写字母
[^abc] 否定字符集合。匹配**不在**中括号内的任意字符。 [^0-9] 匹配非数字字符
(...) 捕获组。将多个字符组合为一个单位进行匹配,并将结果提取。 (abc)+ 匹配 "abcabc"
(?:...) 非捕获组。对字符进行组合,但不在内存中保存该组匹配的内容。 (?:https)

正则表达式测试工具原理与常见问题 (FAQ)

1. 这个在线正则表达式工具有隐私安全风险吗?
绝对没有。本工具采用 纯前端 JAVASCRIPT 实现,通过这款正则表达式测试器,您输入的正则表达式和所有测试用例文本完全在您的浏览器本地进行解析和匹配。没有任何数据会被上传到我们的服务器,您可以安心在在线正则表达式工具中处理包含密码、账户、爬虫数据等敏感信息的字符串。
2. 后缀的 `G`, `I`, `M` 修饰符 (FLAGS) 是什么意思?
修饰符用于更改正则匹配的默认行为。最常见的三种:
  • G (GLOBAL 全局匹配):找到所有的匹配项,而不是找到第一个就停止。
  • I (IGNORE CASE 忽略大小写):匹配时不区分大写和小写字母。
  • M (MULTILINE 多行匹配):改变 `^` 和 `$` 的行为,使它们分别匹配每一行的开头和结尾,而不仅是整个字符串的开头和结尾。
3. 什么是“捕获组” (CAPTURE GROUPS)?右侧表格里为什么拆分了多个内容?
捕获组通过圆括号 `(...)` 在正则表达式中声明。它的作用是在一次整段字符串的匹配中,再把特定的子串“单独提取”出来保存到内存中。 例如,模式 (\d{4})-(\d{2})-(\d{2}) 匹配日期 "2026-04-01"。其中总匹配 (FULL MATCH) 是整个日期,但 `GROUP 1` 将提取出 "2026"(年份),`GROUP 2` 是 "04"(月份)。我们在侧边栏的 CAPTURE GROUPS 面板清楚展示了每个子括号提取到的精准数据,通过正则表达式在线测试提取爬虫结构化信息极其有用。
4. 为什么我的模式提示 "INVALID REGEXP" 报错?
这通常是因为正则表达式的语法并不合法。例如:括号 `(` 或中括号 `[` 没有闭合,或者出现了无法识别的量词拼接符号。另外,对于某些特殊字符(如真实的 `+`, `.`, `*`, `?`, `\` 符号),如果您只是想验证普通文本字符,您必须使用反斜杠 `\` 对其进行转义(例如:你要匹配网址后缀 ".com",应当编写为 `\.com`)。如果报错,请对照语法表检查转义符号。
5. 测试器支持哪一种正则表达式引擎?
本工具完全基于现代各浏览器的 ECMASCRIPT (JAVASCRIPT) 原生正则表达式引擎驱动。这意味着您在此处测试通过的表达式,可以直接免修剪地应用于基于 JS / NODE.JS 的各种前后台代码里。同时 JS 正则引擎也完全兼容并覆盖了主流的 PCRE(PERL 兼容正则),在 PYTHON、JAVA 等语言中也能高度互通。进行在线正则表达式开发时非常可靠。
6. 什么是“贪婪模式” (Greedy) 和“非贪婪模式” (Lazy)?
正则表达式默认是“贪婪”的,如在使用量词 `*` 或 `+` 时,它们会尽可能地去匹配**最长的字符串**。例如,对字符串 "abc","def" 使用 ".*",它会直接匹配包含逗号在内的所有内容。进入正则表达式测试时需注意。 如果在量词后面添加一个 ?(例如 .*?),则会切换进入“非贪婪(勉强)模式”,它将匹配到满足条件的**最短字符串**,这样上述表达式就能按标点符号准确断开了。
7. 左侧文本框为什么没有超过 2000 次命中?
本工具是一个强悍的计算密集型页面。当我们通过原生底层逻辑给文本每一环进行重排定位时,无休止的全网页字符命中(例如:利用 . 通配符配对数万字的小说文本)可能使浏览器的性能骤降乃至卡死页面。基于最佳视觉体感与开发调试的平衡,我们将正则表达式在线测试工具的解析结果列表安全限流到了上限 2000 个 MATCH。
8. 我该如何用正则匹配纯中文字符 (汉字)?
汉字的 UNICODE 编码范围为 \u4e00 (一) 直到 \u9fa5 (龥)。因此,在 JAVASCRIPT 环境中抓取文本里的任何多位纯中文字符时,最标准安全的写法是 [\u4e00-\u9fa5]+。您可以点击上方按钮区域中的快速模板一键装填验证。这款正则表达式测试器能帮您快速验证。

相关小工具推荐