首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >与这些pdf文件名匹配的正则表达式

与这些pdf文件名匹配的正则表达式
EN

Stack Overflow用户
提问于 2019-03-05 02:33:27
回答 2查看 656关注 0票数 1

我正在寻找一个正则表达式来匹配fileNamePattern。pdf文件可以有以下名称:8个字母数字字符,-,4个字母数字字符,-,4个字母数字字符,-,4个字母数字字符,-,12个字母数字字符+ .pdf

示例:

代码语言:javascript
复制
5b7f991f-0726-4dd5-856e-7cea820f02c5.pdf
138bcee6-db7f-47a7-97bf-69c0b3989698.pdf
e988315b-ade7-48e5-9733-35bb59a3c28d.pdf

我正在使用

代码语言:javascript
复制
^[A-Z][0-9]{8}[-][A-Z][0-9]{4}[-][A-Z][0-9]{4}[-][A-Z][0-9]{4}[-][A-Z][0-9]{12}[.]pdf

但是,我不确定它是正确的,因为我没有得到匹配。

EN

回答 2

Stack Overflow用户

发布于 2019-03-05 03:06:33

Regex r = new Regex(@"^\w{8}-\w{4}-\w{4}-\w{4}-\w{12}\.pdf$");

如果您明确不想要下划线,可以使用:

^[a-zA-Z\d]{8}-[a-zA-Z\d]{4}-[a-zA-Z\d]{4}-[a-zA-Z\d]{4}-[a-zA-Z\d]{12}\.pdf$

正则表达式区分大小写(除非您使用RegexOptions指定它忽略大小写。现在的主要问题是,您的正则表达式要求先匹配一个字母,然后再匹配n数字,而不是匹配n字母数字字符。

通过设置不区分大小写标志,您的正则表达式可以简化为:

^[A-Z\d]{8}-[A-Z\d]{4}-[A-Z\d]{4}-[A-Z\d]{4}-[A-Z\d]{12}\.pdf$

票数 1
EN

Stack Overflow用户

发布于 2019-03-05 03:06:47

这应该可以工作,/(\w{8})-(\w{4})-(\w{4})-(\w{4})-(\w{12})(.pdf)/i

我在RegEx Testing这里试过

\w =字母数字{n} =符号应出现的时间

gi =是标志:"i“=不区分大小写。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54989437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档