Notepad++ переворачивание/изменение порядка строк

Notepad++ переворачивание/изменение порядка строк

У меня есть много примеров следующего упрощенного блока кода:

$image = '';
$name = '';
$link = '';
$role_suffix = '';
$role_name = '';
$notes = '';

Все эти переменные содержат разные данные. Мне нужно превратить мой файл в массив, что я могу сделать с помощью простого поиска и замены, но сначала мне нужно переключиться $linkс помощью $image. Таким образом:

$link = '';
$name = '';
$image = '';
$role_suffix = '';
$role_name = '';
$notes = '';

Наверняка должно быть решение с регулярным выражением, чтобы не менять их все вручную? Я пробовал собирать ответы, найденные в разных вопросах, но регулярное выражение для меня вообще не имеет смысла! Я поигрался с этим (<div>.*?</div>)(\s+)(<span>.*?</span>)и заменил на, \3\2\1но я не уверен в правильном синтаксисе.

решение1

  • Ctrl+H
  • Найти то, что:(\$image\h*=\h*.+?;)([\s\S]+?)(\$link\h*=\h*.+?;)
  • Заменить:$3$2$1
  • проверить Обернуть вокруг
  • проверить Регулярное выражение
  • СНЯТЬ ОТМЕТКУ. matches newline
  • Replace all

Объяснение:

(               # start group 1
    \$image     # literally
    \h*         # 0 or more horizontal spaces
    =           # equal sign
    \h*         # 0 or more horizontal spaces
    .+?         # 1 or more any character but newline, not greedy
    ;           # semicolon
)               # end group 1
(               # start group 2
    [\s\S]+?    # 1 or more any character, not greedy
)               # end group 2
(               # start group 3
    \$link      # literally
    \h*         # 0 or more horizontal spaces
    =           # equal sign
    \h*         # 0 or more horizontal spaces
    .+?         # 1 or more any character but newline, not greedy
    ;           # semicolon
)               # end group 3

Скриншот:

введите описание изображения здесь

Связанный контент