Как бы я скопировал и вставил выделенный текст с помощью регулярных выражений и диалогового окна «Заменить» в Notepad ++? - PullRequest
0 голосов
/ 01 марта 2020

Прямо в проблему; все, что я пытаюсь сделать здесь, это продублировать строку и добавить скобку в конце с помощью регулярных выражений и автоматизировать процесс с помощью диалога «Заменить на» в Notepad ++.

Моя проблема визуализирована:

В представлении внизу у меня есть несколько экземпляров "[" Me sh "]", которым всем присвоены разные значения пути. Все, что я хочу сделать, это продублировать запись пути и добавить скобку в конце перед запятой в дублированном.

То, что у меня сейчас есть:

...

["Mesh"] = Platform(
     "models/ships/japan/Zuikaku.mmod",

...

Чего я пытаюсь достичь:

...

["Mesh"] = Platform(
     "models/ships/japan/Zuikaku.mmod",
     "models/ships/japan/Zuikaku.mmod"),

...

Не получая слишком подробных c, поскольку есть ~ 500 из этих экземпляров в файле, который я изменяю, я не хочу, чтобы go просматривал каждый из них, просто нажимая CTRL + D, чтобы продублировать каждую строку и добавить скобку, поскольку для этого потребовались бы буквальные возрасты.

У меня есть некоторый ограниченный опыт использования регулярных выражений из предыдущего использования, но очень ограниченный. Я знаю, что могу выбрать всю строку в диалоге поиска, используя «. *», Но это все, что я получил.

Заранее спасибо за ваше время!

1 Ответ

0 голосов
/ 01 марта 2020

Вы должны быть в состоянии использовать это регулярное выражение (отключить . matches newline). Я использую (\R+) для захвата символов конца строки (и воспроизведения их в выходных данных), чтобы он работал в системах, которые используют для переноса строк не только символ новой строки.

(\["Mesh"\]\s*=\s*.*(\R+))(.*),$

Заменить на

$1$3,$2$3\),

Для ввода

...

["Mesh"] = Platform(
     "models/ships/japan/Zuikaku.mmod",

...

Это дает

...

["Mesh"] = Platform(
     "models/ships/japan/Zuikaku.mmod",
     "models/ships/japan/Zuikaku.mmod"),

...
...