将此视为我的文本顺序(段落后跟图像)...
<p> this is my first paragraph</p>
<img src="http://xyz/123.jpg />
<p>this is my second paragraph</p>
<img src="http://123/xyz.jpg />
<p>this is my third paragraph</p>
<img src="http://123/xyz.jpg />
现在我想改变顺序使用 notepad++ 的文本,如下面的文本(图像后跟段落)...
<img src="http://xyz/123.jpg />
<p>this is my second paragraph</p>
<img src="http://123/xyz.jpg />
<p>this is my second paragraph</p>
<img src="http://123/xyz.jpg />
<p>this is my third paragraph</p>
答案1
您可以使用替换函数结合正则表达式来实现:
搜索:(<p>.*?</p>)(\s+)(<img[^>]+>)
用。。。来代替:\3\2\1
并选择“正则表达式”,并勾选“.匹配换行符”。
答案2
我认为最简单的方法是选择该行并将其拖到 p 标签上方。据我所知,没有其他方法比这更简单了。
答案3
逐个:
您只需逐行按下 即可CTRL+T
交换行。但只有在只有一行时才有效(一行包括换行)。
将光标放在下面一行的任意位置,然后按下CTRL+T
,它就会与上面的行交换。
使用正则表达式:
如果有 1000 个事件,那么逐一进行是不切实际的。
您还可以使用正则表达式进行扩展替换,但如果您需要替换的标签之间的内容都不同,那么就会变得更加棘手。
查找:
(<p>.*?</p>)(\s+)(<img[^>]+>)
并替换:
\3\2\1
确保选择了“正则表达式”并且检查了“匹配换行符”。
这个正则表达式将选择所有<p>
标签并与<img>
标签交换。
参见下面的截图:
现在假设您想交换 div 和 span 标签,那么您可以像这样更改正则表达式:
(<div>.*?</div>)(\s+)(<span>.*?</span>)
见截图:
证明:
前:
后:
最初期望任务的证明:
前:
后: