У меня есть такая строка (это пример проблемы):
let s = `import {
A,
B
} from 'moduleA';
import {
C,
D
} from 'moduleB';`;
И мне нужно изменить имена всех модулей через функцию.Названия модулей я получаю программно.
let regExpStr = "^import [\\s\\S\\w]* from '(moduleA|moduleB)';";
let regExp = new RegExp(regExpStr, "gm");
let data = s.replace(regExp, function(param, p1, p2) {
return param.replace(p1, "modified " + p1);
});
console.log(data);
И это вывод:
import {
A,
B
} from 'moduleA';
import {
C,
D
} from 'modified moduleB';
Как видите, я изменил только moduleB
, но не moduleA
.Что не так с моим регулярным выражением?