正则expression式对新行关联

我必须build立一个批量文件重命名的配对列表。 我可以用php获取dir1和dir2的文件内容,但在发送给批量重命名器之前,我需要让它们配对。 我的问题是,即使在PHP中,这两个文件的输出是在这种forms

output 1 abc.jpg def.jpg fgh.jpg output 2 _01.wmv _02.wmv _03.wmv 

试图执行它的正则expression式,删除新的行,并把它们全部在一个string,然后使用

 ([a-zA-Z]+)(.jpg)(.+)(_[0-9]+\.wmv) 

并replace

 \r\n\1\2\r\n\4\r\n\3 

然而,输出首先>最后,程序必须重复。 我知道我错过了一些东西。

也许我不知道的起始string或另一个运算符。 请帮忙。 谢谢

编辑//

期望的输出是

 abc.jpg _01.wmv def.jpg _02.wmv fgh.jpg _03.wmv 

通过把它们放在一个string中,我的意思是删除所有的新行,所以输出将是这样的

 abc.jpgdef.jpgfgh.jpg_01.wmv_02.wmv_03.wmv 

感谢您的反馈!

Solutions Collecting From Web of "正则expression式对新行关联"

我不太清楚你的意思,但这是我从你的问题中了解到的:你有两个文件。 两者都包含一些jpg和wmv文件名。 你想从这两个文件中提取所有这些文件名。 如果是这样,这是你所需要的:

 /(?:^|\G).*?([\w_]+\.(?:jpg|wmv))/sg 

看到它的行动 。

这个正则表达式使用\ G和/ g修饰符来使这个正则表达式重复。 这是如何工作的,在这里是非常好的解释。

我想你想要的东西像Unix 粘贴命令 。

在Notepad ++中实现类似功能的一种方法是使用矩形区域复制和粘贴。 在Notepad ++中,按住Alt键,将鼠标指针拖到矩形区域的文本上,释放Alt键。 复制所选区域。 单击文件中的其他位置,或者在另一个文件中粘贴复制的文本。 对于问题中的领带问题,我会做出一个文件的全部内容的矩形选择,并将其粘贴到另一个文件。

在复制和粘贴时, 请注意矩形选择如何处理不同长度的线条。 我建议在使用真实文件之前试用一些文本。