正则表达式在文本字符串中查找多个文件名

时间:2017-02-08 16:49:31

标签: javascript regex

我试图在字符串中查找文件名,我无法预测名称是否会有任何分隔符,名称可以是任意长度并包含空格但它们将以数字开头并以文件类型结束。

例如在字符串'工作计划中,以满足3月2日截止日期。(0399 F_1221A.pdf)' 我想匹配3月2日deadline.doc和0399 F_1221A.pdf

我正在使用的正则表达式/\d{1,4} .*(\.docx|\.doc|\.ppt|xls|\.pdf)/gi 正在返回一场比赛' 3月截止日期.doc(0399 F_1221A.pdf'

请参阅http://jsfiddle.net/gqjy2j19/

我做错了什么?

2 个答案:

答案 0 :(得分:3)

使用延迟量词而不是贪婪量词:.*?而不是.*

请参阅http://www.regular-expressions.info/repeat.html#lazy

答案 1 :(得分:1)

尝试匹配除了句号之外的所有内容

\d{1,4} [^\.]*(\.docx|\.doc|\.ppt|xls|\.pdf)
//        ^^ this part

测试here