【发布时间】:2018-10-01 06:46:51
【问题描述】:
我正在尝试迁移一个相当大且相当旧的数据库,其中一列包含文件名。问题是在这个字段中可以有多个文件名,由空格分隔。 例如:
"Filename.mp3 file anem.mid fi le nam e.rm"
我试图用preg_split() 分割这些字符串,我能想到的最接近的正则表达式是
/(?<=\.[\w]{3})(\s)/
我知道/(?<=\.[\w]+)(\s)/ 不起作用,因为在 PCRE 中,lookbehind 必须具有固定的宽度。由于这是一个音乐数据库,因此也有非常规的扩展。
有什么建议吗?
【问题讨论】:
-
嗯,讨厌!我预测,一个正则表达式天才的人会为你得到这个。同时,如果这是我的问题,我会做你正在做的事情(尝试地狱,然后寻求帮助(-:),如果这不起作用,我会叹息并将这个字符串的处理分解为多个步骤。也许用
/\.[a-z]+\b/分割扩展名并捕获分隔符之间的内容;左修剪分隔符后的任何内容;连接......类似的东西。