0

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

这些文件是带有 fansub 组的电视节目等。但我只需要节目名称。

[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(或更好的 Naruto Shippuuden)等。

我尝试自己制作一个 REGEX,但它并不顺利,任何帮助将不胜感激,如果可能的话,请看看您是否也可以评论 RegEX 的哪个部分做了什么,因为这样我也可以学习。

4

1 回答 1

0

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

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

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

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

于 2013-02-02T19:53:33.103 回答