【问题标题】:Sublime Text Regex Replace many strings in line at one time [duplicate]Sublime Text Regex一次替换多个字符串[重复]
【发布时间】:2016-09-24 00:11:37
【问题描述】:

我的 Sublime Text 中有 HTML 代码,我想用 Sublime Text 中的 Find and Replace 替换我的 Sublime Text 中的代码,有人可以帮助我吗?

我有这样的代码

</div>
<li>lorem</li>
<li>ipsum</li>
<div>

我想换

</div>
<li>

</div>
<ul>
<li>

</li>
<div>

</li>
</ul>
<div>

但我想同时更换。我怎样才能做到这一点? 一次替换许多不同的字符串

【问题讨论】:

  • Obligatory。带回家的消息 - 不要使用正则表达式来处理 HTML。使用 HTML 解析器。
  • 你好 MattDMo,我问如何在 Sublime Text 中更改它,而不是在 HTML 中
  • 我从来没有说过用 HTML 做这件事。这个任务可能在 Sublime 中使用多个搜索和替换步骤是可能的,但这不是重点。关键是您应该使用 HTML parser 来执行此操作,not 正则表达式。如果您了解 Python,请使用 beautifulsoup4。对于 Ruby,请尝试 Nokogiri。对于 Java,请尝试 jsoup。对 Perl 使用 HTML::Parser。任何其他语言,只要 Google。
  • 好的。谢谢MattDMo,我会试试的

标签: regex sublimetext3


【解决方案1】:

试试这个。首先需要将代码转成字符串,然后使用简单的替换:

var code = '</div><li>lorem</li><li>ipsum</li><div></div><li>lorem</li><li>ipsum</li><div></div><li>lorem</li><li>ipsum</li><div></div><li>lorem</li><li>ipsum</li><div>';

var newCode = code.replace(/<\/div>\s*?<li>/g, '</div><ul><li>').replace(/<\/li>\s*?<div>/g, '</li></ul><div>');

document.getElementById('output').innerHTML = newCode;
&lt;div id = "output"&gt;&lt;/div&gt;

【讨论】:

  • 不是在 HTML 中,而是在 Sublime 文本中
猜你喜欢
  • 1970-01-01
  • 2011-07-01
  • 2012-10-08
  • 2011-12-01
  • 2013-12-05
  • 1970-01-01
  • 2017-11-15
相关资源
最近更新 更多