【发布时间】:2018-10-20 01:03:51
【问题描述】:
我需要一个 regex 表达式,该表达式将从 zip 文件的文件列表中选择具有特定文件名格式的文件。
我需要选择文件名具有以下文件格式的文件:
<A-Z/a-z/0-9/special char>.<A-Z/a-z/0-9/special char>.zip
文件名包含两个点.,可以是点之间的任意字符串.
例如,以下是可以选择的有效文件名:
abc123.34efg.zip
qwe.123.zip
as_2ww.as_tyy.zip
23.fff.zip
asd.efg.zip
可以是字母或数字或特殊字符或组合 之间他们,在点之间.
请注意,文件名中只能是 2 个点 .。
除 2 个点 . 以外的任何内容都不是有效的文件名,不会被选中。
以下是无效文件名:
abc.zip
abc.123.efg.zip
as_1.efg.ddd.rr.zip
ee_rr.zip
我尝试了以下正则表达式:
[^.]*\\.[^.].zip
但不工作。也许这是错误的。
请让我知道正确的正则表达式以选择所需的文件名
【问题讨论】:
-
点之间只有一个字符,还是缺少
*?最后一点也可能缺少反斜杠... -
你可能想要这个
[^.]*\\.[^.]*\\.zip -
我不认为我之前的评论会起作用我认为以下会起作用
[^\\.]+\\.[^\\.]+\\.zip -
格式为
<any string including number or/and sp char>.<any string including number or/and sp char>.zip -
正则表达式在字符串中?你能试试我的回答吗?我认为它现在有效。如果没有,请告诉我。