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

屏幕截图:

在此处输入图片描述

相关内容