У меня есть огромное количество файлов с элементами, содержащими идентификатор. Я хотел бы скопировать значение идентификатора и создать новый атрибут со значением идентификатора:
<element id = "some_unique.value">
...
</element>
Чего я пытаюсь достичь:
<element id = "some_unique.value" new_attribute = "some_unique.value">
...
</element>
Как это сделать с помощью регулярного выражения? Я ищу регулярное выражение, которое я могу использовать в своей IDE (код Visual Studio) для быстрого изменения нескольких файлов.
Регулярное выражение может быть частью решения, но наверняка вам понадобится написать скрипт на другом языке для чтения и записи файлов? Например, вы можете написать программу Javascript для запуска на Node.js. Или вам нужна одна команда grep, чтобы сделать все? Какой язык вы надеетесь использовать? Пожалуйста, отредактируйте свое сообщение, включив в него эти детали.
Я обновил свой вопрос информацией о том, какое регулярное выражение я ищу. Спасибо.
@DuesserBaest Точно. Это работает так, как задумано - пожалуйста, дайте ответ. Спасибо.





Захватите часть, которую вы хотите повторно использовать в качестве группы, и используйте обратную ссылку для создания результата.
Поиск:
<element id = "([^"]+)"
Заменять:
$0 new_attribute = "$1"
Группа 0 — весь матч.
Как в моем комментарии, попробуйте сопоставить:
id = "([^"]+)"
и заменить на
$0 new_attribute = "$1"
См.: regex101
Объяснение
Соответствовать:
id = "...": сопоставить буквальный идентификатор и текст в кавычках
([^"]+): это не кавычки. сохраните это в группе 1Заменять:
$0: сохранить исходные данные new_attribute = ": добавьте буквальный 'new_attribute='": открытое предложение$1: вставьте группу 1 (текст идентификатора в кавычках) и": закрыть цитату
что-то вроде это?