0

我必须为批量文件重命名器设置配对列表。我可以使用 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

但是,输出 first->last 并且必须重复该过程。我知道我错过了一些东西。

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

编辑//

所需的输出是

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

通过将它们放在一个字符串中,我的意思是删除所有新行,因此输出将是这样的

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

感谢您的反馈!

4

2 回答 2

1

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

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

看到它在行动

此正则表达式使用 \G 和 /g 修饰符使此正则表达式重复自身。这是如何工作的在这里得到了很好的解释。

于 2013-10-02T14:56:14.863 回答
1

我认为您想要Unix paste命令之类的东西。

在 Notepad++ 中实现类似功能的一种方法是使用矩形区域复制和粘贴。在 Notepad++ 中按住Alt键,将鼠标指针拖到文本的矩形区域上,然后松开Alt键。复制选定区域。单击文件中的其他位置或另一个文件并粘贴复制的文本。对于问题中的平局问题,我将对一个文件的全部内容进行矩形选择并将其粘贴到另一个文件中。

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

于 2013-10-02T15:35:42.493 回答