我试图写一个正则表达式,将捕获第一个单词直到连字符,然后ALSO匹配数字和文件扩展名
下面是一个示例字符串:lorem-ipsum-dolor-15.jpg
我知道[d]+(.jpg)
将匹配15.jpg
我也知道^[^-]*[^ -]
将匹配第一个单词直到连字符,在本例中是lorem
,但它不会匹配任何超出。
我如何将这两个表达式合二为一?我也会接受与我要求的相反的匹配。
谢谢!
假设这是JS,您应该能够使用.*?
连接两个模式(即,以非贪婪的方式匹配任意字符,任意次数)。
比如:
/^([^-]*[^ -]).*?(d+.jpg)$/
第一个捕获组将是领先的lorem
,第二个捕获组将是15.jpg
。
查看regex101了解更多细节。