我已经搜索了一段时间,似乎无法找到与此相关的任何内容。
我需要验证ISO 8601时间间隔。关于ISO 8601日期时间有很多东西,但我特别需要间隔。我正在使用正则表达式,这是我到目前为止所拥有的;
正则表达式regEx =新正则表达式(@“^ P((\ d +)Y)((\ d +)M)((\ d +)D)(T)((\ d +)H)((\ d +)M )((\ d +(()(\ d)(\ d))。???)S)$“);
所以基本上这会检查输入字符串是否完全形成,例如P0Y0M1DT1H2M2.01S将被验证,但标准规定也应接受较小的字符串,如PT4S。
如果有人能帮助我,我将不胜感激。我一直在阅读条件正则表达式,但不太清楚如何工作。
非常感谢。
答案 0 :(得分:2)
答案 1 :(得分:1)
我已经创建了一个正则表达式来获取有关ISO 8601中间隔的信息。检查出来:
^(P((?<Years>\d+)Y)?((?<Months>\d+)M)?((?<Days>\d+)D)?)(T((?<Hours>\d+)H)?((?<Minutes>\d+)M)?((?<Seconds>\d+((.)?(\d)?(\d)?))S)?)$