0

我在 SAS Content Categorization Studio 工作。我试图获得两个概念,每个概念都包含一个正则表达式,以返回多个匹配项。一个应该找到日期,另一个是特别格式化的数字。

(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](?:[0-9]{2})?[0-9]{2}

[1-9](?:(?:[ -.])?\d){10,10}

只要应该查找日期(前者)的正则表达式处于活动状态或未注释掉,则应该找到格式化数字(后者)的正则表达式不会返回任何命中。一旦我注释掉日期的正则表达式,后者就会继续工作。它们似乎是相互排斥的。谁能告诉我我做错了什么?

4

1 回答 1

0

如果你最后的模式(?:(?:[ -.])?\d){10,10}是日期匹配部分,那对我来说似乎有点不对劲。看起来匹配的是“一些可选字符(字面意思是任何因为'。')后跟一个数字”的10次迭代。首先,您似乎需要 8 次迭代,而不是 10 次来匹配日期。但我认为你真正想要的是\d{1,2}([\.-])\d{1,2}\1\d{4}. 这将匹配“一个或两个数字,后跟一个文字 . 或 -,后跟一个或两个数字,然后是您之前匹配的任何特殊字符(. 或 -),然后是四个数字”。

于 2013-03-12T19:18:11.407 回答