Резюме: используйте регулярное выражение с заполнителями, чтобы найти, где ключ и значение совпадают, и замените его только ключом (в моем случае, используя сокращенный синтаксис свойства объекта ES6 для очистки тысяч строк поврежденного кода ES5 - где я могуне могу найти автоматического помощника в правилах eslint для использования с --fix).
Пример:
module.exports = {
foo: foo,
bar: bar,
baz: someFunctionNotCalledBaz,
someOther: () => console.log('Defined directly. Not a reference to same name function.')
};
Что я хочу (очистить старый, сломанный код и ES6 с NodeJS)проект):
module.exports = {
foo,
bar,
baz: someFunctionNotCalledBaz,
someOther: () => console.log('Defined directly. Not a reference to same name function.')
};
Я довольно хорошо знаком с регулярным выражением и не уверен, что это вообще возможно. Используя Vim или IDE Replace w / regex, я хотел бы найти способ сказать:
Найти все «слово: слово» независимо от пробелов, а затем соответствующий ключ на стороне значения:
(\w+)(:{1}\s{0,})(*SOMEHOW_REFERENCE_FIRST_MATCHING_GROUP_WITHIN_FIND*)
Заменить ссылкой (используя заполнитель, который уже будет работать с соответствующей группой):
$1
Является ли этот "просмотр" ещевозможно в пределах того же регулярного выражения? Я просмотрел кучу других постов, которые соответствовали моему запросу, но безрезультатно.