在Sublime Text中使用RegEx进行高级查找和替换

J86

我有一个充满Classic ASP旧代码的目录,几乎所有文件都具有以下内容:

<input type="hidden" name="driverPayment" value="<% =driverPayment %>">

然后在代码后面,运行一些JavaScript,并执行以下操作:

var x = document.getElementById('driverPayment')

这在IE中可以正常工作,但由于没有定义ID属性,因此当然无法在其他任何地方使用。

解决方法是遍历1770个文件并手动在输入中添加与name属性匹配的ID属性。因此,使其如下所示:

<input type="hidden" name="driverPayment" id="driverPayment" value="<% =driverPayment %>">

有没有一种方法可以使用以下逻辑自动执行此过程:

  1. 获取具有名称属性的输入元素
  2. 如果输入具有id属性,请移至下一个输入
  3. 否则,将ID属性添加到输入中,并为其提供与name属性值匹配的名称

我想对我拥有的1770 Classic ASP文件执行此操作。我正在使用Sublime Text。

安迪·戴维斯(Andy Davies)

您可以使用正则表达式进行匹配。我的正则表达式不是很好,但以下应该工作。为其他人感到高兴而改进。我从这个问题中使用了一些正则表达式

右键单击项目文件夹

选择“在文件夹中查找”选项

查找和替换选项出现在屏幕底部。选择正则表达式选项(最左侧)。

正则表达式查找和替换

输入

<(?:input)\s+(?=[^>]*\bname\s*=)(?![^>]*\bid\s*=)[^>]*>?(name="driverPayment")

在查找字段中

输入

id="driverPayment" name="driverPayment" 

在替换字段中

点击替换

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

Sublime Text 2多行编辑

来自分类Dev

Sublime Text条件查找和替换

来自分类Dev

Sublime Text专业吗?

来自分类Dev

在Virtualenv中使用Sublime

来自分类Dev

从virtualenv启动Sublime Text

来自分类Dev

Sublime Text中的SQLPLUS

来自分类Dev

RegEx在Sublime Text中查找和替换

来自分类Dev

在Sublime Text中查找并替换为RegEx

来自分类Dev

Mac上的Sublime Text设置

来自分类Dev

从Sublime Text 3删除语法

来自分类Dev

替换为Sublime Text 2中的列表

来自分类Dev

完全删除Sublime Text 3

来自分类Dev

如何使用Sublime Text查找多行属性

来自分类Dev

查找为Sublime Text 2创建的符号链接,以替换为Sublime Text 3

来自分类Dev

Sublime Text插件的安装和使用?

来自分类Dev

如何记录和运行Sublime Text 2的多个查找/替换?

来自分类Dev

卸载Sublime Text 2

来自分类Dev

如何在Sublime Text中使用键盘快捷方式绘制“查找”结果栏?

来自分类Dev

Sublime Text中的SQLPLUS

来自分类Dev

在Sublime中替换vim替换

来自分类Dev

使用Sublime Text 3替换正则表达式

来自分类Dev

Sublime Text 3和sublime-grunt-build

来自分类Dev

Sublime Text FormatLua错误

来自分类Dev

Sublime Text:如何启用文本替换

来自分类Dev

在Sublime Text中仅查找和替换特定字符

来自分类Dev

PHP Sublime Text 使用查找和替换正则表达式

来自分类Dev

Sublime Text 3 字体

来自分类Dev

在 Sublime 中使用 React 的问题

来自分类Dev

无法在 Sublime Text 中使用 Open CV