Вопрос

Я искал некоторое время и не могу найти ничего, что связано с этим.

Мне нужно проверить временный интервал ISO 8601. Существует множество вещей о ISO 8601 дата даты, но я специально нужен интервал. Я использую Regex, и это то, что у меня до сих пор;

Regex Regex = New Regex (@ "^ p ((( d +) y) ((( d +) m) ((( d +) d) (t) ((( d +) h) (((( d +) m) (( d + ((.)? ( d)? ( d)?)) s) $ ");

Таким образом, это проверки, если входная строка полностью сформирована, например, P0Y0M1DT1H2M2.01S, будет подтверждена, но стандартные состояния должны быть приняты, что меньшие строки, такие как PT4, должны быть приняты тоже.

Если кто-то может помочь мне с этим, мне было бы очень ценится. Я читал в условно Regex, но не слишком уверен, как это работать.

Большое спасибо.

Это было полезно?

Решение

Ведь я нашел ответ как часть вопроса, связанного с SCORM.

Ссылка здесь, если кто-то удается сначала наткнуться на мой пост;

Счетчик 2004 Время Формат - регулярное выражение?

Другие советы

Я создал регулярное выражение, чтобы получить информацию о интервале ISO 8601. Проверьте это:

^(P((?<Years>\d+)Y)?((?<Months>\d+)M)?((?<Days>\d+)D)?)(T((?<Hours>\d+)H)?((?<Minutes>\d+)M)?((?<Seconds>\d+((.)?(\d)?(\d)?))S)?)$
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top