跳到工具区
文本

正则表达式在线测试

使用浏览器的 JavaScript RegExp 测试匹配,检查分组、索引,并预览字符串替换结果。

Web Worker 仅本地处理工具
输入0 个字符
对照内容0 个字符
结果0 个字符
就绪

JavaScript 引擎轨迹 · 明示 regex 方言

一次匹配,不只有“命中”或“没命中”。

正则表达式并不存在跨语言通用的唯一语义。这里遵循当前浏览器的 ECMAScript RegExp 行为,把 flags、匹配范围、捕获组、索引和替换结果作为可核对的执行证据。

JS

ONLY

PATTERN/(?<proto>https?):\/\/(?<host>[^/:\s]+)(?::(?<port>\d+))?(?:\/[^?\s]*)?(?<query>\?[^\s]*)?/dguINPUTVisit https://example.com:8080/docs next.
0V
1i
2s
3i
4t
5·
6h
7t
8t
9p
10s
11:
12/
13/
14e
15x
16a
17m
18p
19l
20e
21.
22c
23o
24m
25:
268
270
288
290
30/
31d
32o
33c
34s
匹配 0 · [6, 35)proto · [6, 11)host · [14, 25)port · [26, 30)

Flag 状态机

Flags 改变语义和迭代方式,不是装饰。

d

匹配索引

为完整匹配和捕获组提供起止范围

g

全局匹配

持续迭代并改变 lastIndex

i

忽略大小写

采用当前引擎的大小写折叠规则

m

多行模式

^ 和 $ 也识别行边界

s

DotAll

. 可以匹配行终止符

u

Unicode

按码点解析字符和转义

v

Unicode 集合

支持集合运算与字符串属性

y

粘连匹配

必须从 lastIndex 指定的位置开始命中

捕获组账本

未参与匹配,不等于匹配了空字符串。

0 · 完整匹配[6, 35)https://example.com:8080/docsparticipated
1 · proto[6, 11)httpsparticipated
2 · host[14, 25)example.comparticipated
3 · port[26, 30)8080participated
4 · query(可选)undefinedunmatched

原生替换验证

replacement template 也有自己的语法。

ORIGINALVisit https://example.com:8080/docs next.
TEMPLATE$<proto>://$<host>
RESULTVisit https://example.com next.
$& · 完整匹配$1 … $99 · 编号捕获组$<name> · 命名捕获组$$ · 美元符号字面量$` / $' · 匹配前缀 / 后缀

回溯隔离舱

页面仍能响应,不代表正则适合生产环境。

/^(a+)+$/aaaaaaaaaaaaaaaaaaaaaaaaaaaa!

每次执行都使用独立 Worker;开始新任务会终止上一个 Worker,正的超时设置会被限制在 50–10,000 ms 并在到期后终止任务。它能保护当前页面交互,却无法证明该模式在其他引擎、真实输入分布和服务端资源策略下不会触发 ReDoS。

直接回答

什么是 正则表达式在线测试?

用浏览器真实的 JavaScript RegExp 引擎测试正则表达式,查看匹配范围、捕获组和 indices,预览替换结果,并用可终止 Worker 隔离超时任务。

它能做什么?

  • 匹配
  • 替换

如何使用 正则表达式在线测试

  1. 01

    选择任务

    在工作区选择匹配和替换。

  2. 02

    提供输入

    \b(?<word>[A-Za-z]+)\b。内容始终留在浏览器的本地处理流程中。

  3. 03

    检查结果

    运行工具,检查结果和诊断信息;页面提供复制或下载时,可以直接导出。

常见问题

正则表达式在线测试是什么?
用浏览器真实的 JavaScript RegExp 引擎测试正则表达式,查看匹配范围、捕获组和 indices,预览替换结果,并用可终止 Worker 隔离超时任务。
正则表达式在线测试能做什么?
正则表达式在线测试支持匹配和替换,所有模式都可以直接在当前页面使用。
正则表达式在线测试会上传我的数据吗?
正则表达式在线测试会在浏览器本地处理输入内容。DevSexy 不会增加上传、登录或服务器处理步骤。
DevSexy 在浏览器本地处理工具输入:不追踪粘贴内容,无需账号,也没有上传步骤。