首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下面的VBA正则表达式的解释?

下面的VBA正则表达式的解释?
EN

Stack Overflow用户
提问于 2012-08-07 15:44:36
回答 1查看 233关注 0票数 1

我从互联网上获取了这个正则表达式。

代码语言:javascript
复制
    RegExp.Pattern = "^(?:(?:(?:0?[13578]|1[02])(\/)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$"

我只知道正则表达式的基本细节,并不知道所有的细节。我只知道它会检查日期是否为dd/mm/yyyy格式,以及日期是否为闰年。

我也不知道?:?:等是什么意思。

有没有人可以通过解释上面的正则表达式中的每个字符的含义来告诉我这个正则表达式的完整含义。

这对我的学习有很大帮助,因为我不能理解正则表达式中的大多数字符

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-07 16:22:16

出于学习目的,您选择了一个可怕的正则表达式,这一点是肯定的(而且它至少包含一些瘤,如果不是完全的but,但我不打算调试这个乱七八糟的东西)。有人可能会争辩说,对于最好使用不同工具解决的问题,这是一个很好的例子。

我建议你先读一篇basic regex tutorial。这里有一些可以帮助你找到相关主题的指针:

代码语言:javascript
复制
^      Start of string anchor
(?...) Non-capturing group
(...)  Capturing group
[...]  Character class
?      Quantifier (1 or 0 repetition of the previous token)
|      Alternation ("or")
\2     Backreference to the second capturing group
\d     Shorthand for digit
\/     (Unnecessary escape sequence, a simple / would work just fine)
$      End of string anchor
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11841378

复制
相关文章

相似问题

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