Regex -匹配连字符和数字之前的第一个单词和文件扩展名



我试图写一个正则表达式,将捕获第一个单词直到连字符,然后ALSO匹配数字和文件扩展名

下面是一个示例字符串:lorem-ipsum-dolor-15.jpg

我知道[d]+(.jpg)将匹配15.jpg

我也知道^[^-]*[^ -]将匹配第一个单词直到连字符,在本例中是lorem,但它不会匹配任何超出。

我如何将这两个表达式合二为一?我也会接受与我要求的相反的匹配。

谢谢!

假设这是JS,您应该能够使用.*?连接两个模式(即,以非贪婪的方式匹配任意字符,任意次数)。

比如:

/^([^-]*[^ -]).*?(d+.jpg)$/

第一个捕获组将是领先的lorem,第二个捕获组将是15.jpg

查看regex101了解更多细节。