·5分钟阅读

Mac的正则表达式测试工具 — 原生和离线

在没有实时反馈的情况下编写正则表达式就像在没有语法高亮的情况下编辑代码 — 技术上可能,但不必要地痛苦。

你需要一个正则表达式来验证电子邮件地址、从日志行中提取时间戳或解析有时包含带引号逗号的CSV字段。你写一个模式、针对代码中的一个示例字符串测试它、发现它在边界情况下失败、调整它、重建、再次测试。每次迭代需要30秒的编译-运行-检查,大多数正则表达式模式需要五或六次迭代才能可靠工作。

替代方案是regex101.com — 一个显示实时匹配、解释模式的每一部分、让你针对多个输入测试的出色工具。但它在浏览器中运行,这意味着你将测试数据(日志行、用户记录、API响应)粘贴到公开网站。而且你需要网络连接。

实时反馈对正则表达式为什么很重要

正则表达式本质上很密集。.*.*?(贪心与惰性)之间的区别可以改变你的模式是匹配一行还是整个文件。前向断言、字符类和捕获组以你很难在你的头脑中推理的方式交互。看到与你键入的模式匹配的高亮将正则表达式从猜测转变为可视、迭代的过程。

这就是为什么基于浏览器的测试工具如此受欢迎 — 它们提供了源代码中编写正则表达式所没有的反馈循环。问题是它们需要浏览器、网络连接和信任你的测试数据保持私密。

在你的Mac上本地测试正则表达式

Bellows包括一个正则表达式测试工具作为其41个开发工具之一。输入你的模式、粘贴你的测试字符串,看到实时匹配高亮。调整模式,结果立即更新 — 没有编译步骤、没有页面重新加载、没有网络请求。

Bellows正则表达式测试工具在macOS上具有实时匹配高亮

常见模式变得更容易

从日志文件中提取日期(\\d{4}-\\d{2}-\\d{2})。使用可选国家代码验证电话号码。在自由格式文本中匹配URL。解析结构化数据,如字段可能被引用的CSV或TSV。这些模式在概念上很简单,但边界情况很棘手 — 实时测试工具让你在到达生产之前捕获这些边缘。

没有数据离开你的Mac

如果你的测试数据包括服务器日志、用户信息或内部系统输出,在离线测试正则表达式模式不仅很方便 — 这是负责任的选择。Bellows完全在你的机器上运行,没有网络访问。

总是可用

Bellows驻留在你的菜单栏中,所以正则表达式测试工具只需一次点击即可访问。没有浏览器标签页要查找、没有要记住的URL、没有加载轻弹。打开它、测试你的模式、复制结果、关闭它。整个交互只需数秒钟。

在Mac应用商店获取Bellows

下一篇文章

Bellows

41 developer tools in one native Mac app — JSON, JWT, Base64, hashes, and more.

Get Bellows on the Mac App Store