我必须从文本文件中找到所有日期,文本应该是 dd mm 或 mm dd 的形式(即1月10日或1月10日)我写过这种类型的正则表达式(\d{2} January)
。它只给了1月10日,但我想写
1。一个正则表达式,这样我就可以获得两种日期格式(我有一个选项,我可以写这样的(\d{2} January)|(January \d{2})
。)
2。一个有效的日期编号(即,我的正则表达式返回true,如果我的文本中有99月份,但它无效)。
应该匹配的案例
如果有效匹配则以粗体显示,其他无效。
答案 0 :(得分:3)
此模式只需要一次月份名称:
\b((?<day>[0-2]?\d|3[01]) )?January(?(day)| ([0-2]?\d|3[01]))\b
但它匹配从0到31的天数。日期模式是:
答案 1 :(得分:0)
这似乎有效:
string pattern = "(([0-2][0-9]|3[0-1]) January)|(January ([0-2][0-9]|3[0-1]))";
当然它只适用于1月份。