将电影名称和年份与电影名称分开
我的文件名是这样的
Birdman.2014.DVDSCR.X264-PLAYNOW.mkv
分歧者(2014)720P蓝光x2649[双音频][英文DD 5.1+ 印地语DD 5.1]-制造-TeamTNT ExClusive.mkv摇篮2坟墓2003 HDTVRip 720p双音频[英语+印地语]~BRAR
我必须将电影名称和年份分开
用于使用年份PERG_MATCH LIKE
$s="Divergent (2014) 720p Blu-Ray x2649 [Dual-Audio][English DD 5.1 + Hindi DD 5.1] - Mafiaking - TeamTNT ExClusive.mkv";
if (preg_match('/d{4}/', $s, $matches)) {
$year = $matches[0];
}
echo $year;
结果:-2014//工作完美
但是我也想要电影的名字,比如
分歧
鸟人
摇篮2坟墓
我还可以使用此链接进行检查
Extracting movie name and year from string were year is optional
但是什么也没有发生
我如何获得它?请帮助或提供提示以实现此目标。
解决方案
^.+?(?=s*[(.]?(d{4}))
您可以尝试此操作。电影名称将在第一个组中使用匹配和年份。请参阅演示。
https://regex101.com/r/vA0yQ3/2
$re = "/^.+?(?=\s*[(.]?(\d{4}))/mi";
$str = "
Birdman.2014.DVDSCR.X264-PLAYNOW.mkv
Divergent (2014) 720p Blu-Ray x2649 [Dual-Audio][English DD 5.1 + Hindi DD 5.1] - Mafiaking - TeamTNT ExClusive.mkv
Cradle 2 The Grave 2003 HDTVRip 720p Dual-Audio[Eng+Hindi] ~ BRAR
";
preg_match_all($re, $str, $matches);
相关文章