2016-02-11 104 views
0

唯一的docx文档或值计算器搜索后,我发现这个正则表达式:正则表达式获取从HREF

/href=['"]([^'"]+?)['"]/ 

它得到所有hrefs`值

现在我需要限制模式得到只有DOC或DOCX值

注意,链接可能.DOCX或.doc

例如后添加结束,如果我有链接:

<a href="/site/file1.doc?id=1">link1</a> 

的结果应该是:

/site/file1.doc 

感谢。

+0

你是什么意思的“只获取doc或docx值”。你想捕获扩展名,还是只希望'href'值匹配如果它是doc/docx? –

+0

Regex有什么味道?文件名是否总是以斜杠开头? –

+0

我的意思是在href之后开始,直到.doc或.docx,例如,如果我有bbb 结果应该是:/site1/site2/file.doc – eawedat

回答

2

试试这个:

/href=(['"])([^'"]+\.docx?(\?[^'"]*)?)\1/ 

这就需要名为 “.doc” 或 “.DOCX” 后,随之而来的是HREF的任何一个结束, 问号后跟东西,即它不会匹配“foo.doctor”。

这也确保引号通过反向引用匹配每一端。

参见live demo