【发布时间】:2018-07-11 13:21:53
【问题描述】:
我们从客户那里收到一个文件,我们需要读取该文件并将一些值保存到我们的 ERP 系统中。
客户以周格式向我们发送日期,例如:201814 这表示 2018 年的第 14 周
客户永远不会在文件中的同一个地方发送这个日期,所以我想我能得到这个日期的唯一方法是通过正则表达式搜索文件中的字符串。
我的正则表达式可能包含以下条件:
- 字符串的长度始终为 6 个字符
- 所有字符都是数值
- 字符串始终以
20开头 - 最后两个值必须介于
01和53之间
完美的正则表达式是什么?文件中还有许多其他“仅限数字”的值,这就是为什么我需要如此具体
我知道我可以像 {1,6} 这样的长度条件,我知道 [0-9] 匹配从零到九的所有数字,但我看不出如何将 01 限制为 53。
有人可以帮我处理我的正则表达式吗?非常感谢!
【问题讨论】:
-
最后两个值是什么意思? 2018xx 这个xx?
-
你必须分开每场比赛
\b20[0-9]{2}(?:0[1-9]|[1-4][0-9]|5[123])\b -
@SimonS 你没有提到正则表达式的味道吗?即哪种语言?
-
@RizwanM.Tuman 这是 C#
-
@SimonS 顺便说一句,考虑到您的情况,我已经提供了一个答案,这能解决您的问题吗?
标签: regex