搜索并替换 moduleFor('foo:bar') 为 moduleFor('foo:bar', 'unit@foo:bar')

Search and replace moduleFor('foo:bar') with moduleFor('foo:bar', 'unit@foo:bar')

我正在一个名为 "tests" 的文件夹中处理大量 qunit 单元测试。每个文件的顶部是以下内容,例如:

moduleFor('mixin:foo')

// or

moduleFor('route:bar')

我想为这些文件编写搜索和替换,以便每次出现都将替换为这种更新后的样式:

moduleFor('mixin:foo', 'unit@mixin:foo')

// or 

moduleFor('route:bar', 'unit@route:foo')

如果你的文件的第一行是这一行,你可以使用它,多行标志打开。

\AmoduleFor\('(.*?)'\)$

其中 \A 始终匹配输入数据(在本例中为文件)的开头。 $ 由于多行标志,匹配行尾(不是输入)。如果后面有您不想影响的空格或注释,您也可以删除 $ 。如果这总是第一行,我会留下 $.

在这个例子 here 中,我特意使用 ^ 来匹配 line 的开头而不是 input,仅供演示之用。


我不熟悉 qunit,如果文件中可能没有其他模块出现,如果没有,则不需要断言。