指南

Regex 实用模式

整理表单验证、路由匹配和日志搜索中常用的 JavaScript Regex 模式、边界样例、flag 检查与复制前复核步骤。

先锁定要匹配的边界

编写 Regex 前,先列出必须匹配和必须排除的样例。再检查 flag、捕获组和转义字符,避免模式在表单、日志或路由中误匹配。把边界写清楚之后,再考虑是否需要完整验证、局部提取或只是快速查找。

  • 保留一个必须通过的样例和一个必须失败的样例。
  • 记录目标运行环境是否使用 JavaScript RegExp。
  • 把业务验证和文本查找分开,不要让一个 pattern 承担所有规则。

排除敏感数据

浏览器工具很快,但生产密钥、客户数据和内部主机名仍应删除或脱敏。

复制前检查结果

生成内容在确认目标运行时、语法变体或平台行为前都应视为草稿。

用相关工具再检查

Regex 实用模式 的结果不要单独结束。继续用相关工具检查格式、时区、编码和公开 URL 状态,能在复制前发现下一步可能变化的条件。

只保留可分享结果

移除生产密钥、客户数据、内部主机名和一次性 token,并简短记录结果前提。这样整理后的输出更适合放进文档、issue 或代码评审。

先定义复核标准

使用Regex 实用模式时,先写清楚什么结果可以复制,能减少误用。把输入形状、目标运行环境、安全边界和可分享范围放在一起检查,才能判断工具结果是否适合实际任务。

  • 确认样例输入能代表真实问题。
  • 记录目标浏览器、调度器、解析器或部署环境。
  • 出现任何警告时,复制前用相关工具再检查一次。

连接到下一步任务

实用工具不应停在一次转换。格式化后提取字段,生成后验证结果,检查公开 URL 后继续看 header、DNS、robots 或 sitemap,才能留下可复用的工作记录。

  • 格式化结果继续做 diff 或 schema 检查。
  • URL 和网络结果要结合 redirect、robots、sitemap 状态查看。
  • 分享前移除密钥、内部主机名和客户数据。

补充边界和异常样例

只用一个成功样例会让结果看起来比实际更稳定。把正常值、边界值、空值、带空格值、带标点值和明显错误值放进同一轮检查,可以更快发现格式、编码、时间或安全边界上的问题。

  • 至少保留一个应该通过和一个应该失败的样例。
  • 检查空输入、过长输入和带特殊字符的输入。
  • 如果结果会进入代码、配置或文档,复制前再看目标环境限制。

保留可复核记录

复制结果时,不要只留下最终字符串或数字。记录输入来源、选择的选项、看到的警告、目标平台和下一步验证工具,能让团队成员知道这个结果为什么可信,也能在问题复现时快速回到同一条件。

  • 把输入样例、输出摘要和警告放在同一段记录里。
  • 说明结果是否来自浏览器本地处理或公开网络检查。
  • 分享前再次移除密钥、内部主机名和客户数据。

按用途拆分 pattern

表单验证、日志提取和搜索高亮的失败条件并不相同。不要把同一个 Regex 无限制复用,先确认目标输入、允许的空白、字符范围以及 capture group 会被哪段代码读取。

  • 验证用 pattern 必须保留失败样例。
  • 提取用 pattern 要同时检查前后分隔符。
  • 复制到代码前查看转义后的最终字符串。

分享前整理复核记录

把Regex 实用模式结果放进工单、文档或 pull request 前,请简短记录输入来源、选择的选项、出现的警告、目标环境,以及下一步使用的相关工具。只复制最终结果很难复现问题,也不利于团队判断可信度。对于会影响部署、搜索、样式或数据结构的结果,还要写明是否已经在目标浏览器、调度器、解析器或公开 URL 上复核。

  • 从分享值中移除密钥、客户数据和内部主机。
  • 说明结果来自浏览器本地处理还是服务器检查。
  • 写清楚下一步工具和复核原因。
  • 把未解决的警告留在记录中,避免被当作已验证结果。

把验证和提取分开

一个 Regex 同时承担验证、提取、高亮和搜索时,很容易在相似文本中匹配过多。用于拒绝错误输入的模式,和用于从日志中找候选字符串的模式,应按目标分开维护,再把结果交给 JSON、URL 或日期解析器复核。

  • 验证模式明确使用开头和结尾锚点。
  • 提取模式避免过宽的 .*,同时检查前后分隔符。
  • 找到候选值后,用对应专用工具或代码再次确认。

复制进代码后再测试

在浏览器输入框中通过的 Regex,放进 JavaScript 字符串、JSON 配置、shell 命令或后端语言后,转义规则可能已经不同。复制后应确认实际代码读取到的最终 pattern 与 flag,而不只看页面上显示的版本。

  • 字符串字面量可能需要额外反斜杠。
  • 区分斜杠 literal 与 RegExp constructor 字符串。
  • 捕获组顺序变化时,同步检查读取结果的代码。

复制前检查

便于安全复用的简短检查流程

Regex 测试器

在真实示例文本中测试 JavaScript 正则表达式,快速查看匹配、标志和捕获组。

代码

使用场景

  • 在真实示例文本中测试 JavaScript 正则表达式,快速查看匹配、标志和捕获组。
  • 以浏览器本地方式处理输入,并在复制前检查结果。
  • 结合 Regex 测试器 和相关工具缩短工作流。

常见失败情况

  • 在真实示例文本中测试 JavaScript 正则表达式,快速查看匹配、标志和捕获组。
  • 如果浏览器本地处理方式和真实输入结构不一致, 输出不能直接信任。
  • 复制的值中如果混入生产密钥、客户数据或内部 URL, 分享前必须移除。

复制前检查

  • 再次比较原始输入和输出形态。
  • 确认目标运行时、编码、时区和安全策略差异。
  • 继续用相关工具检查 Regex 测试器 的结果是否适合下一步。

示例

常见输入

用此示例检查 Regex 测试器 的输入流程。

^[^\s@]+@[^\s@]+\.[^\s@]+$

典型输出

复制前用于确认结果格式和后续检查点。

^/tools/[a-z0-9-]+$

附加示例

复制前用于确认结果格式和后续检查点。

(\d{4})-(\d{2})-(\d{2})

FAQ

Regex 测试器 的输入在哪里处理?

可行的处理会在浏览器中执行,但不要输入生产密钥或客户数据。

结果可以直接用于生产吗?

复制前请再次确认运行环境、编码、时区和安全策略等环境差异。

JSON 格式化器

整理 API 响应、配置文件和日志中的 JSON,让结构更易读并更快发现语法错误。

数据

使用场景

  • 整理 API 响应、配置文件和日志中的 JSON,让结构更易读并更快发现语法错误。
  • 以浏览器本地方式处理输入,并在复制前检查结果。
  • 结合 JSON 格式化器 和相关工具缩短工作流。

常见失败情况

  • 整理 API 响应、配置文件和日志中的 JSON,让结构更易读并更快发现语法错误。
  • 如果浏览器本地处理方式和真实输入结构不一致, 输出不能直接信任。
  • 复制的值中如果混入生产密钥、客户数据或内部 URL, 分享前必须移除。

复制前检查

  • 再次比较原始输入和输出形态。
  • 确认目标运行时、编码、时区和安全策略差异。
  • 继续用相关工具检查 JSON 格式化器 的结果是否适合下一步。

示例

常见输入

用此示例检查 JSON 格式化器 的输入流程。

{"status":"ok","items":[1,2,3]}

典型输出

复制前用于确认结果格式和后续检查点。

{ "status": "ok" }

附加示例

复制前用于确认结果格式和后续检查点。

{"error":{"code":"invalid_request","message":"Missing id"},"requestId":"req_123"}

FAQ

JSON 格式化器 的输入在哪里处理?

可行的处理会在浏览器中执行,但不要输入生产密钥或客户数据。

结果可以直接用于生产吗?

复制前请再次确认运行环境、编码、时区和安全策略等环境差异。

URL 编码器

编码和解码 URL 组成部分,用于查询字符串、重定向参数和回调 URL。

网页

使用场景

  • 编码和解码 URL 组成部分,用于查询字符串、重定向参数和回调 URL。
  • 以浏览器本地方式处理输入,并在复制前检查结果。
  • 结合 URL 编码器 和相关工具缩短工作流。

常见失败情况

  • 编码和解码 URL 组成部分,用于查询字符串、重定向参数和回调 URL。
  • 如果浏览器本地处理方式和真实输入结构不一致, 输出不能直接信任。
  • 复制的值中如果混入生产密钥、客户数据或内部 URL, 分享前必须移除。

复制前检查

  • 再次比较原始输入和输出形态。
  • 确认目标运行时、编码、时区和安全策略差异。
  • 继续用相关工具检查 URL 编码器 的结果是否适合下一步。

示例

常见输入

用此示例检查 URL 编码器 的输入流程。

https://example.com/callback?state=a b

典型输出

复制前用于确认结果格式和后续检查点。

https%3A%2F%2Fexample.com%2Fcallback%3Fstate%3Da%20b

FAQ

URL 编码器 的输入在哪里处理?

可行的处理会在浏览器中执行,但不要输入生产密钥或客户数据。

结果可以直接用于生产吗?

复制前请再次确认运行环境、编码、时区和安全策略等环境差异。

Regex 实用模式 | bobob.app