正则表达式匹配文件名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式匹配文件名相关的知识,希望对你有一定的参考价值。

有的文件是 aa23.doc, 有的文件是aa23.aa23.doc。 如果要用正则表达式匹配他们,应该怎么写?

你其实要求的是只要是.doc后缀就行。

<script language="javascript">

 <!--

  var s = "abc.def.txt.doc";

  var regex = /^(.)+\\.doc$/;

  var matchFlag = regex.test(s);

  alert(matchFlag);

 //-->

 </script>

参考技术A [\s\S]+?\.doc 参考技术B [\w.]*\.doc
其实没看明白你的需求,你匹配的是doc后缀的文件名,是吧?那上面这个可以。不过不知道你的数据格式,所以不对的话也有可能。本回答被提问者采纳

正则表达式如何匹配excel文件

比如我想在VB中判断选择的文件是否为excel文件,*.xls;*.xl*;*.xla;*.xlt;*.xlm;*.xlc;*.xlw

Excel文件,常见格式有

*.xls;*.xl*;*.xla;*.xlt;*.xlm;*.xlc;*.xlw


使用正则表达式,可以用/\\.xl.1,2$/

下面着重看Excel2007+中的常用文件格式:

    *.xlsx:基于XML文件格式的Excel 2007工作簿缺省格式 

    *.xlsm:基于XML且启用宏的Excel 2007工作簿 

    *.xltx:Excel2007模板格式 

    *.xltm:Excel 2007宏模板 

    *.xlam:Excel 2007宏加载项 

    *.xlsb:Excel2007为大的或复杂的工作簿新引入的非XML二进制文件格,允许优化执行和向后兼容。


可以用另一个正则表达式,来精确匹配这6种格式

/\\.xl(s[xmb]|t[xm]|am)$/

参考技术A 对应的正则表达式:
"^.*\.(?:xls|xl|xla|xlt|xlm|xlc|xlw)$"
如果匹配上面的表达式,则文件是Excel文件本回答被提问者采纳
参考技术B 我在Kettle 用^.+.xl?$ 参考技术C *.xl*

以上是关于正则表达式匹配文件名的主要内容,如果未能解决你的问题,请参考以下文章

正则匹配文件后缀的问题

4-19 Linux中的正则表达式 --- 字符匹配

Nginx中的正则如何匹配数字

Linux正则表达式

Linux的正则表达式

正则表达式如何匹配excel文件