正则与文本处理指南

正则前后查找:匹配满足上下文条件的文字

使用前后肯定查找,比较捕获组方案,并检查不同正则引擎的兼容性。

Nav Tools ·

查找条件不消耗文本

前查找检查后面的文本,后查找检查前面的文本,条件内容不成为返回命中的一部分。

下面只返回 USD 前面的 10,货币条件参与判断,但结果仍只包含数字。

Input: 10 USD, 20 EUR
Pattern: \d+(?= USD)
Match: 10

跨引擎可采用捕获方案

现代 JavaScript 可用肯定后查找表达前缀条件,其他引擎可能拒绝或存在不同限制。

可改为匹配前缀后只取捕获组,提高可移植性,浏览器通过仍需验证后端引擎。

Input: item=42
Lookbehind: (?<=item=)\d+
Capture alternative: item=(\d+)

否定条件仍需边界

否定前查找只排除当前位置的局部条件,不会自动排除整个输入任意位置的出现。

分别测试禁用词在开头、中间、结尾和近似词的情况,明确排除范围。

控制条件成本

多个查找条件与含糊量词组合后难以审查,也可能在长输入中变慢,分步检查往往更清晰。

先用短样例,再在限制内测试长的近似命中,本站 Worker 超时保护不等于生产性能认证。

参考资料

← 正则与文本处理指南