ReGEX只选择电视节目名称

时间:2013-02-02 19:33:33

标签: php regex

我希望我的PHP脚本能够搜索文件夹中的文件,我希望ReGEX能够从中获取主文件名。

这些文件是带有fansub组等的TVShows。但我只需要显示名称。

[Final8]Nazo no Kanojo X 01-13 + OVA (BD 10-bit 1920x1080 x264 FLAC)  
[Final8]Nazo no Kanojo X 01-13 + OVA (BD 10-bit 1280x720 x264 AAC)  
[HorribleSubs] OreShura - 05 [1080p].mkv  
[HorribleSubs] OreShura - 05 [720p].mkv  
[Hatsuyuki]_Naruto_Shippuuden_-_298_[720p][3FF2ABFE].mp4  
[Commie] Mondaiji-tachi ga Isekai kara Kuru Sou Desu yo - 04 [18B50CAF].mkv  
[FFF] Maoyuu Maou Yuusha - 05 [E84974F0].mkv  
[Commie] Chihayafuru 2 - 04 [AB85B68E].mkv  
[gg]_Sasami-san@Ganbaranai_-_04_[4D5B88AF].mkv  
[Nutbladder] JoJo's Bizarre Adventure - 17  
[UTW]_Shinsekai_Yori_-_18_[h264-720p][FAC060C0].mkv

我想删除[]括号中的Fansub名称和文件名的所有其余部分,如剧集编号等。 我想要主要的文件名,如Nazo no Kanojo,OreShura,Naruto_Shippuuden(或更好的火影忍者Shippuuden)等。

我自己尝试制作一个REGEX,但它没有顺利,任何帮助都会在此得到赞赏,如果可能的话,请看看你是否还可以评论ReGEX的哪些部分做什么,这样我也可以学习

1 个答案:

答案 0 :(得分:0)

这个正则表达式会让你获得标题,但它看起来并不完美。它仍然会出现在名称中的任何破折号和下划线。

(?<=])[^\.][\D]+

以下是使用您提供的一些字符串的工作示例:http://fiddle.re/hz9b

然后,您可以再次传递以删除任何不需要的字符。