代码之家  ›  专栏  ›  技术社区  ›  dudu

在VS代码中的搜索中生成正则表达式

  •  1
  • dudu  · 技术社区  · 1 年前

    我想用将imghtml标记更改为django-html {%static 你能在ctrl+f函数中生成一个正则表达式吗?这样我就可以一次更改它了?

    例如:

    <img src="../img/logo.png" => <img src=" {%static 'img/logo.png' %}"
    
    r'<img\s+src="(.*?)"'
    

    但我找不到在保留中间值的同时更改代码的方法

    1 回复  |  直到 1 年前
        1
  •  1
  •   willeM_ Van Onsem    1 年前

    您可以使用 反向参考 :

    搜索查询: <img\s+src="../([^"]*)"
    替换为: <img src="{% static '$1' %}"

    这个 $1 然后将替换为第一个 捕获组

    也就是说,HTML是一种上下文无关的语言。这意味着大多数任务不能用正则表达式(完美地)处理。例如,我们在这里生成的regex不考虑 src="" 属性因此,像BeautifulSoup这样的工具可能是一个更好的主意。