我是正则表达式的新手。想知道下面的日期模式。
(\\d{2}(0[1-9]|1[012]|[0]{2}))
我只知道,
0[1-9]是 01 或 12 或.... 191[012]是 10 或 11 或 12[0]{2}是 0000 吗?\\d{2}是 ?
我是正则表达式的新手。想知道下面的日期模式。
(\\d{2}(0[1-9]|1[012]|[0]{2}))
我只知道,
0[1-9]是 01 或 12 或.... 191[012]是 10 或 11 或 12[0]{2}是 0000 吗?\\d{2}是 ?\d是一个预定义的字符类,通常等同于[0-9](有时它还包括 unicode 数字,具体取决于正则表达式引擎)。此外,{n}是一个量词,并且与时间完全X{n}匹配。因此,匹配 2 个连续数字。Xn\d{2}
此外,[0]{2}是 2 个连续0的 s:(00不是0000)。
您也有点偏离0[1-9]:它匹配任何01, 02, ..., 09(1不能在开头)。你是对的1[012]。
总的来说,这就是您的正则表达式的样子:

如果您想了解更多关于它们的信息,关于正则表达式的一个很好的在线参考是regular-expressions.info。
请注意,在上面的答案中,我假设您的意思\d是\\d,并且使用了后者,因为您\以需要转义 s 的字符串格式表示正则表达式。然而,在表示通用正则表达式时,最好不要\转义 s。换句话说,\\d可能会被解释为文字反斜杠后跟 a d,所以\\d{4}会匹配\dddd。大概这不是您的意思;