我正在尝试编写一个程序,该程序将在可以解释为日期的字符串中查找一系列数字。为此,我编写了一个正则表达式,运行如下:
Dim m As MatchCollection = Regex.Matches(_string, "[0-9]{1,4}[-_ ]?[0-9]{1,2}([-_ ]?[0-9]{2,4})?")
现在,当我给它一些像“4_2_2012_13_39”这样的奇怪字符串时,我希望它返回以下九个匹配项:
- 4_2
- 4_2_20
- 4_2_2012
- 2_20
- 2012
- 2012_13_39
- 12_13
- 12_13_39
- 13_39
(我有一个次要步骤,将丢弃数字 6 和 9,因为在一个月值的范围内没有任何数字。)事实上,我只得到两个匹配项:“4_20_2012”和“13_39”。我认为它试图不在两场比赛中使用相同的字符。有没有办法我可以坚持不这样做?感谢您的任何帮助。
抢