您最喜欢的城市的最爱地点
首页
添加为 Google 首选来源

JavaScript 正则表达式测试器

输入原始 JavaScript 表达式和示例文本,选择标志,然后主动开始测试。无需上传文本即可查看当前匹配项和捕获值。

输入

输入原始 JavaScript 正则表达式,不要添加两侧斜杠或标志字符串。

浏览器会在本地测试输入框中的完整原文。

标志

表达式最多 2,048 个 UTF-16 代码单元;文本最多 100,000 个。结果和报告也有大小限制。

匹配结果

测试表达式后,结果将显示在这里。

工具在浏览器工作线程中处理表达式和文本,不会增加上传、输入历史记录或含输入内容的 URL。只有在您选择时才会复制或下载;报告包含完整的表达式和文本。

三步测试表达式

  1. 输入表达式,不要添加两侧斜杠或末尾标志字符串,然后输入测试文本。允许空表达式和空文本。
  2. 选择标志。默认启用所有匹配项和 Unicode 模式;只需要第一个匹配项时,关闭所有匹配项。
  3. 选择“测试表达式”,查看匹配项、位置和捕获组。也可以复制或下载包含完整输入的当前完整报告。

准确理解匹配项和捕获组

完整匹配是整个表达式匹配到的文本。括号也可以捕获值;未参与匹配的组与匹配到空字符串的组不同。

起始位置从零计数,结束位置不包含在内。位置使用 JavaScript 的 UTF-16 代码单元,因此即使启用 Unicode 模式,一个表情符号也可能占两个位置。

多行模式会改变行锚点的行为;点号匹配换行符会改变点号的行为。Unicode 模式会改变解析方式以及空匹配后的前进方式,但不会让常用的单词字符简写涵盖所有语言的字母。

值以带引号的 JSON 字符串形式显示,以便区分空值、不可见字符和代理项字符。导出的报告使用 ASCII 转义,并保留接受的表达式和文本。

值得尝试的示例

表达式为 (\d+)、文本为 Order 42, item 7 时,所有匹配项返回 [6,8) 处的 42 和 [15,16) 处的 7,每个数字也都在捕获组 1 中。仅第一个匹配项返回 42。

对一个表情符号使用空表达式,并启用所有匹配项和 Unicode 模式,会在位置 0 和 2 返回空匹配。关闭 Unicode 模式后,位置 1 也会有一个空匹配。

对空文本使用表达式 (a)?() 时,完整匹配为空。捕获组 1 未参与匹配,捕获组 2 则参与了匹配且包含空字符串。

范围和限制

本工具使用浏览器的 JavaScript 正则表达式引擎,支持 g、i、m、s 和 u 标志。不提供 PCRE、Python、替换或捕获组位置,也不保证不同引擎和版本的行为完全相同。

表达式最多 2,048 个 UTF-16 代码单元,文本最多 100,000 个。完整结果最多包含 500 个匹配项,每个返回的匹配项最多有 256 个编号捕获组和 256 个命名捕获组,报告上限为 1 MiB。超过限制时不会生成部分报告。

独立工作线程的名义操作时限为两秒,包括启动和生成报告。浏览器调度可能延迟取消,超时也不能证明表达式无效或不安全。

这是文本检查辅助工具,不能证明正则表达式对所有输入都安全、快速、可靠或正确。仅第一个匹配项模式只报告请求的首个结果,不表示完整的非零总数。

本地处理

工具在浏览器工作线程中处理表达式和文本,不会增加上传、输入历史记录或含输入内容的 URL。只有在您选择时才会复制或下载;报告包含完整的表达式和文本。

JavaScript 正则表达式常见问题

不需要。只输入原始表达式,并通过单独的控件选择标志。输入的斜杠属于表达式的一部分,不会自动移除。

JavaScript 的位置按 UTF-16 代码单元而非可见字符计数。一个表情符号可能占两个代码单元。Unicode 模式影响匹配和前进方式,但不改变报告索引的单位。

未参与匹配的组没有参与匹配过程。空捕获组参与了匹配,但没有消耗文本。报告分别保留这两种状态,不会悄然丢弃。

不是。有效表达式也可能超过操作时限,尤其是在处理复杂输入或使用较慢浏览器时。工具会停止该任务,不提供部分报告。

不能。示例匹配成功不能证明普遍正确性、安全性或运行复杂度。结果只描述当前浏览器引擎和特定的已接受文本。

完整的当前 JSON 报告,包括准确的已接受表达式和文本、标志、完整匹配项、捕获状态和 UTF-16 位置。它不是保存的编辑器会话,也不是可执行脚本。

来源与参考资料

JSON 转 YAML

在本地将 JSON 转换为 YAML,保留数字原文和带引号的字符串;复制或下载完整结果。

打开工具 — JSON 转 YAML

YAML 转 JSON

在本地将一个 YAML 文档转换为 JSON,保留精确数字文本,然后复制或下载结果。

打开工具 — YAML 转 JSON

HTML 转 Markdown

将粘贴的内容或本地 HTML 转换为 Markdown,查看转换说明,然后复制或下载结果。

打开工具 — HTML 转 Markdown

Markdown 转 HTML

将 Markdown 草稿转换为 HTML 片段,查看源码和惰性预览,然后复制或下载。

打开工具 — Markdown 转 HTML

文本排序

按所选语言的字母顺序或 Unicode 码位排序,保留重复项、空行和完整的行内容。

打开工具 — 文本排序

删除重复行

保留每个完全相同文本行的首次出现、原顺序、有意义的空格和空行,然后复制或下载结果。

打开工具 — 删除重复行

文本差异对比

在本地比较两个文本版本,查看完整行的变化、空白和末尾换行。

打开工具 — 文本差异对比

字母大小写转换

按所选字母规则转换文本大小写、单词首字母或句首字母。

打开工具 — 字母大小写转换

HTML 字符引用编码与解码

编码或解码文本中的 HTML 字符引用,选择上下文和 Unicode 格式,以 LF 换行输出;不解析或渲染标记。

打开工具 — HTML 字符引用编码与解码

Markdown 表格生成器

编辑纯文本表格、设置对齐方式、复制 GFM Markdown 或导入制表符分隔的文本。

打开工具 — Markdown 表格生成器

查询字符串解析与构建

解析和编辑查询参数,保留重复名称和顺序,并复制规范化的查询字符串或 HTTP(S) 网址。

打开工具 — 查询字符串解析与构建

URL 编码与解码

按照明确的空格与加号规则转换 UTF-8 URL 组件或表单值,然后复制或下载结果。

打开工具 — URL 编码与解码

Base64 编码与解码

将 UTF-8 文本编码为标准或 URL 安全的 Base64,也可解码任一格式并查看完整结果和清晰的错误提示。

打开工具 — Base64 编码与解码

XML 格式化工具

在本地检查 XML 1.0 的良构性和命名空间绑定,格式化或压缩文本,并复制或下载 UTF-8 结果。

打开工具 — XML 格式化工具

JSON 格式化与验证

在本地检查 JSON 语法、格式化或压缩,并在保留原始数据的同时复制或下载结果。

打开工具 — JSON 格式化与验证

SMS 短信字数与分段计算器

了解短信的编码方式、分段位置和预计费用。文本始终保留在您的浏览器中。

打开工具 — SMS 短信字数与分段计算器

社交媒体字符计数器

按平台规则检查长度,无损拆分帖子。

打开工具 — 社交媒体字符计数器

字符计数器

统计字符、词语、句子和段落,并在浏览器中查看词语密度、预计阅读时间和 UTF-8 大小。

打开工具 — 字符计数器

文本大小计算器

在浏览器中比较文本编码和载荷大小。

打开工具 — 文本大小计算器

PDF 文本清理工具

修复从 PDF 复制的文本中的换行和空格。保留原文,逐一检查不确定的连字符,再复制清理结果。

打开工具 — PDF 文本清理工具

花体文字转换器

在浏览器中将支持的 Unicode 花体字母转为普通文字,保留大小写、重音符号、表情和原文。

打开工具 — 花体文字转换器

乱码修复器

在浏览器中修复乱码和损坏的重音字符。逐项检查可能的 UTF-8 逆向转换。

打开工具 — 乱码修复器

Gmail 邮件截断检查

准确计算邮件 HTML 的 UTF-8 字节数,对照 102,000 字节参考值,并在本地查找占空间的源码。

打开工具 — Gmail 邮件截断检查
查看此分类中的所有工具