Notepad++ 在字符周围交换文本
我的文本行采用相同的格式:Notepad++ 在字符周围交换文本,notepad++,text-editor,Notepad++,Text Editor,我的文本行采用相同的格式: 标题1:Text1 标题2:Text2 如何将:两侧的文本交换到另一侧?比如: Text1:标题1 文本2:标题2 我可以编写一个小脚本来实现这一点,但我想知道是否有一种更快的方法可以使用正则表达式、内置功能或任何其他魔法来实现这一点?步骤1:按住键盘上的Alt按钮并突出显示第三列,即Text1。这将选择整个3列 步骤2:右键单击并选择“剪切”,然后粘贴到第一列的前面 第3步:按住键盘上的Alt键并突出显示“:”列 步骤4:右键单击并选择“剪切”,然后粘贴到第一列和第
标题1:Text1
标题2:Text2
如何将:
两侧的文本交换到另一侧?比如:
Text1:标题1
文本2:标题2
我可以编写一个小脚本来实现这一点,但我想知道是否有一种更快的方法可以使用正则表达式、内置功能或任何其他魔法来实现这一点?步骤1:按住键盘上的Alt按钮并突出显示第三列,即Text1。这将选择整个3列 步骤2:右键单击并选择“剪切”,然后粘贴到第一列的前面 第3步:按住键盘上的Alt键并突出显示“:”列 步骤4:右键单击并选择“剪切”,然后粘贴到第一列和第二列之间。您可以使用
^([^\r\n:]+)(:\h*)(.*)$
或
替换为$3$2$1
,其中$n
是对捕获组捕获的值的反向引用。这些组将按照它们在图案中出现的顺序自动编号
详细信息:
-行首^
-组1稍后被称为([^\r\n:]+)
捕获除CR、LF和冒号以外的一个或多个字符$1
-第2组捕获一个冒号和零个或多个水平空白(:\h*)
-第3组稍后被引用为([^:\r\n]+)
。见上文$3
-行结束$
^(\h*\w+)(\h*:\h*)(\w+\h*)$
->$3$2$1
正则表达式替换。@WiktorStribiżew,找不到任何文本。让我给你更多关于线路的细节。它们都是以下格式:主页(主页):http://www.example.com/
Aha,那是另一壶鱼。使用^([^\r\n:]+)(:\h*)(.*)$
并使用相同的替换。或者^([^\r\n:]+)(:\h*)([^:\r\n]+)$
Woow就是这样做的!!。你能解释一下$3$2$1
部分吗?@WiktorStribiżew,请写下来作为答案,这样我就可以接受了。没有列。这些是行中的文本。如果没有列,它应该仍然有效。您是否尝试过按住alt按钮并突出显示“:”后面的文本?我知道您正在尝试做什么。这些线的长度不同,所以我不能这样选择。
^([^\r\n:]+)(:\h*)([^:\r\n]+)$