You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求Sublime Text中查找Django模板错误{% if %}单等号判断的正则表达式

解决Django模板中错误{% if a = b %}的正则匹配方案

我懂你要找的是Django模板里那些不小心用了单个=而非双==的错误if判断,还得避免误匹配正确的==写法。这里给你一个精准的正则表达式,能在Sublime Text里完美实现需求:

{% if .*?(?<!=)\s*=\s*(?!=).*? %}

正则各部分拆解说明:

  • {% if :精准匹配Django if标签的开头标识
  • .*?:非贪婪模式匹配任意字符,防止过度匹配到其他模板标签
  • (?<!=):负向后行断言,确保当前匹配的=左边不是另一个=,直接排除==的前半部分
  • \s*:匹配=前后可能存在的0个或多个空格(兼容a=b、a = b、a =b等各种空格写法)
  • =:锁定我们要找的单个错误等号
  • (?!=):负向前瞻断言,确保=右边不是另一个=,排除==的后半部分
  • `.*? %}:非贪婪匹配到if标签的结尾

在Sublime Text中的使用步骤:

  1. 按下Ctrl+F(Windows/Linux)或Cmd+F(Mac)打开搜索框
  2. 点击搜索框左侧的.*按钮,启用正则匹配模式
  3. 粘贴上面的正则表达式,就能精准定位所有错误的{% if a = b %}写法了

这个正则会完美避开正确的{% if a == b %},只抓取那些用了单个等号的错误行。

内容的提问来源于stack exchange,提问作者katonada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:20:13