2

Итак, у меня есть сценарий со строками, разделенными переводом каретки. Иногда автор портит и помещает примечания (текст, содержащийся в [[]]) в середине или начале строки, когда она должна быть в конце. Поскольку это не единообразно, у меня возникли проблемы с поиском способа перемещения этих заметок в конец строки, в которой они автоматически появлялись в Notepad++, с помощью макроса или какого-то необычного регулярного выражения find & replace.

Просто я хочу автоматизированный способ, исходя из этого:

hello [[emphasis]] my friends!
[[laugh]] how are you?

чтобы:

hello my friends! [[emphasis]]
how are you? [[laugh]]

1 ответ1

0

Это можно сделать в диалоге замены :

  • Найти что = (?-s)(\[\[.*\]\])[\h]*(.*?)[\h]*$
  • Заменить на = $2 $1
  • Режим поиска = регулярное выражение

По сути, я ищу [[...]] и помещаю его в $1 , а затем все после того, как он идет в $2 . Затем он заменяет эти два так, что $2 идет после $1 . Я делаю некоторые дополнительные вещи, например, следя за тем, чтобы это игнорировалось . matches newlines , так что .* не переносится через строки

К вашему сведению: если у вас есть дополнительные потребности в поиске и замене ("соответствие", "пометка", "закладка", регулярное выражение, "регулярное выражение"), изучите этот FAQ в сообществе Notepad++ и документацию, на которую он указывает. Это поможет вам с использованием регулярных выражений в Notepad++ и поможет вам понять детали написанного мной регулярного выражения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .