Autohotkey 在正则表达式之前获取所有内容

Autohotkey Get everything before a regex

我正在尝试获取字符串中的电影名称(不带点)。

例如:

"Matrix.1999.LIMITED.720p.BluRay" 将会 "Matrix"

此外, "Max.Steel.2016.1080p.BluRay" 将会 "Max Steel"

我做了下面的,但它不起作用

Haystack =Max.Steel.2016.1080p.BluRay
TheYear := RegExMatch(Haystack, "\d{4}\b")
StringGetPos, YearPostion,Haystack,%TheYear%
StringLeft, MovieName,Haystack,%YearPostion%
MsgBox, %MovieName%

用空格替换所有点,搜索年份,trim 不需要的空格:

Haystack = Max.Steel.2016.1080p.BluRay
StringReplace, Haystack, Haystack , . , %A_Space% , All
TheYear := RegExMatch(Haystack, "(1|2)\d\d\d")
if( TheYear > 0 )
{
    TheYear--
    StringLeft, MovieName,Haystack,%TheYear%
    MovieName := Trim( MovieName ) ;
    MsgBox, |%MovieName%|
}