Я искал некоторое время и не могу найти ничего, что связано с этим.
Мне нужно проверить временной интервал ISO 8601. Есть множество вещей о дате 8601 ISO, но мне особенно нужен интервал. Я использую регулярное выражение, и это то, что я до сих пор;
Regex regEx = new Regex (@ "^ P ((\ d +) Y) ((\ d +) M) ((\ d +) D) (T) ((\ d +) H) ((\ d +) M ) ((\ d + (() (\ d) (\ d)).?) S) $ ");
Таким образом, в основном это проверяет, полностью ли сформирована входная строка, например, P0Y0M1DT1H2M2.01S будет проверен, но стандарт утверждает, что меньшие строки, такие как PT4S, также должны быть приняты.
Если кто-нибудь сможет мне помочь с этим, я буду очень признателен. Я читал об условном регулярном выражении, но не слишком уверен, как с ним работать.
Большое спасибо.