我必须为批量文件重命名器设置配对列表。我可以用php获取dir1和dir2的文件内容,但在我将它发送到批量重命名之前,我需要将它们配对。我的问题是即使在php中,这两个文件的输出也是这种形式
output 1
abc.jpg
def.jpg
fgh.jpg
output 2
_01.wmv
_02.wmv
_03.wmv
尝试为它执行正则表达式,删除新行并将它们全部放在一个字符串中,然后使用
([a-zA-Z]+)(.jpg)(.+)(_[0-9]+\.wmv)
并替换为
\r\n\1\2\r\n\4\r\n\3
然而,首先输出>最后输出并且必须重复该过程。我知道我错过了什么。
也许是一个起始的^字符串或另一个我不知道的运算符。请帮忙。谢谢
EDIT //
所需的输出是
abc.jpg _01.wmv
def.jpg _02.wmv
fgh.jpg _03.wmv
通过将它们放在一个字符串中,我的意思是删除所有新行,因此输出将是这样的
abc.jpgdef.jpgfgh.jpg_01.wmv_02.wmv_03.wmv
感谢您的反馈!
答案 0 :(得分:1)
我不太清楚你的意思,但这是我从你的问题中理解的:你有两个文件。两者都包含一些jpg和wmv文件名。您想从这两个文件中提取所有这些文件名。如果是这样,这就是您所需要的:
/(?:^|\G).*?([\w_]+\.(?:jpg|wmv))/sg
在action中查看。
这个正则表达式使用\ G和/ g修饰符来使这个正则表达式重复。如何通过here很好地解释这是如何工作的。
答案 1 :(得分:1)
我认为你想要像Unix paste command这样的东西。
在Notepad ++中实现类似功能的一种方法是使用矩形区域复制和粘贴。在Notepad ++中,按住 Alt 键,将鼠标指针拖到矩形文本区域上,释放 Alt 键。复制所选区域。单击文件中的其他位置或其他文件并粘贴复制的文本。对于问题中的平局问题,我会对一个文件的整个内容进行矩形选择,然后将其粘贴到另一个文件中。
小心了解复制和粘贴时矩形选区如何处理不同长度的线条。我建议在尝试使用真实文件之前尝试一些文本。