开发者工具 / 14

正则表达式测试工具

在有时间限制的工作线程中运行JavaScript正则表达式,并查看每个匹配结果。

正则表达式测试工具: TOEA会在一次性的浏览器工作线程中执行表达式,限制输入和结果的数量,并终止运行时间过长的模式。 完全在浏览器中本地运行,文件不会上传到服务器。

使用次数
在浏览器中
费用
免费·无需注册
可用性
可直接使用
正则表达式测试台本地处理

完全在浏览器中运行

会改变结果的标志

g会查找所有匹配项,而不是只查找第一个;i会忽略大小写。最容易混淆的是以下两个标志:m会让^和$在每个换行处匹配,而不只是匹配文本的开头和结尾;s则会让.也匹配换行符。u会启用完整的Unicode处理,表情符号和\p{L}形式的字母类都需要它。

会导致卡死的模式

(a+)+$或(\w+\s?)*$等嵌套量词,在匹配失败前可能会尝试指数级数量的匹配方式,因此一行输入就可能让服务器或浏览器标签页卡死。本测试工具会在750毫秒后停止模式。如果模式被停止,请移除嵌套,或让内部部分无法以多种方式匹配相同文本。

JavaScript和其他正则表达式风格

正则表达式模式在不同语言之间迁移时,大部分内容可以保持不变,差异主要在边缘功能。JavaScript使用(?<name>…)命名分组,Python使用(?P<name>…);JavaScript没有PCRE、Java和.NET支持的占有量词或原子分组。在这里有效的模式,放到其他地方运行前可能需要进行少量修改。

使用方法

  1. 输入模式、标志和测试文本。
  2. 运行表达式。
  3. 查看匹配位置和捕获组。

隐私与限制

测试文本不会离开您的浏览器。JavaScript正则表达式语法和Unicode行为可能与其他语言不同。

相关工具

常见问题

为什么有时间限制?

某些模式会导致灾难性回溯;工作线程会在750毫秒后停止。

会显示多少个匹配结果?

最多收集1,000个匹配结果,以保持页面响应流畅。

免费工具·使用在浏览器中次·无需账户