Sublime Text:正则表达式:选择特定的文本行,每行只有一个数字变化?

时间:2014-12-18 16:54:48

标签: regex sublimetext2

我有数以千计生成的JavaScript系列,我在Sublime Text中清理过。我希望删除未使用的生成代码。这是我想用正则表达式选择/删除的一行示例:

score.push({t:3.162, o:[{f:'metronome', a:0}]});

这些行的唯一变化是t属性:

score.push({t:[THIS CHANGES], o:[{f:'metronome', a:0}]});

我如何为此创建正则表达式?

感谢您提前协助!

3 个答案:

答案 0 :(得分:0)

这样的东西
^score\.push\({t:\d+\.\d+, o:\[{f:'metronome', a:0}\]}\);$

将选择

,其中

  • \d+匹配anydigits

Regex Demo

您甚至可以使用

^score\.push\({t:.*, o:\[{f:'metronome', a:0}\]}\);$

如果t属性

中可能出现任何问题

Regex Demo

答案 1 :(得分:0)

无法删除所有重复行。您可以做的最好的事情是为每组重复行创建一个新的正则表达式,如下所示:

^score\.push\({t:[0-9.], o:\[{f:'metronome', a:0}]}\);$

答案 2 :(得分:0)

score\.push\({t:[^,]*,\s+o:\[{f:'metronome',\s+a:0}\]}\);

试试这个。这将删除所有这些行。见演示。

https://regex101.com/r/vN3sH3/13