RegExp Atomic Groups & Possessive Quantifiers ?
中文标题:RegExp 原子组与占有量词
提案概览
- 阶段: 未分阶段
- 状态: 不活跃
- ECMAScript 版本: —
- 同步时间: 2026年8月26日
- English original · 官方仓库
提案速览
该提案为 JavaScript 正则表达式引入原子组和占有量词,以防止灾难性回溯。原子组锁定其匹配并禁止回溯,而占有量词在标记匹配后阻止回溯。
Note
以下 README 来自上游仓库,其中的阶段或状态标注可能滞后;当前信息以提案概览为准。
proposal-regexp-atomic-and-possessive
一个向 RegExp 添加原子组和占有量词的提案。
原子组
原子组,用 (?>TEXT_TO_MATCH) 表示,一旦组匹配并“锁定”,就阻止回溯。即使回溯到一个备选分支可能允许整体匹配,原子组也不会解锁。
占有量词
占有量词,通过在量词后使用 + 表示,一旦标记匹配,就阻止回溯。即使回溯可能允许整体匹配,占有量词也不会允许。
推进者
- Justin Ridgewell (@jridgewell)
状态
当前阶段:0
动机
JavaScript 的正则表达式很棒,但开发者可能会无意中写出具有“灾难性回溯”的正则表达式。这些正则表达式可能完全冻结程序,对服务器尤其危险。
原子组和占有量词允许开发者编写可理解的性能保证。由于它们不允许回溯,它们永远不会遭受指数级执行时间。