Voglio convalidare il formato di data-ora che è come '2014-08-29T06: 44: 03Z' per questo sto cercando un reg ex.regex per verificare il formato dell'ora della data UTC
Provato poche combinazioni ma quelle non hanno funzionato per me.
Voglio convalidare il formato di data-ora che è come '2014-08-29T06: 44: 03Z' per questo sto cercando un reg ex.regex per verificare il formato dell'ora della data UTC
Provato poche combinazioni ma quelle non hanno funzionato per me.
Prova questo regex
\b[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z\b
Ci:
\b
- limite di parola, di controllare ciò che per esempio '92014-08-29T06: 44: 03Z' non è valido
[0-9]{n}
- numero della corrispondenza con n cifre
Se una stringa deve contenere solo la data e nessun altro carattere, quindi utilizzare:
^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$
risposta dei cerchioni funzionerà sicuramente, ecco alcuni esempi in più.
Un po 'più brevità:
\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z
Un po' più di precisione:
\d{4}-[01]{1}\d{1}-[0-3]{1}\d{1}T[0-2]{1}\d{1}:[0-6]{1}\d{1}:[0-6]{1}\d{1}Z
Naturalmente, è possibile scrivere espressioni più avanzati che sono più efficienti di questo utilizzando avanti e indietro riferimento per davvero assicurarsi di avere una corrispondenza convalidata al 100% per combinazioni consentite, ecc ...
La seguente espressione regolare accetta una stringa di tempo ISO-8601 UTC che garantisce:
formato: AAAA-MM-GGThh: mm: ssZ
esempio: 2016-07-08T12: 30: 00Z
dove:
YYYY = 0000 a 9999
MM = 01 a 12
DD = 01 a 31
hh = 00 a 23
mm = 00 a 59
ss = 00 a 59
\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2]\d|3[0-1])T(?:[0-1]\d|2[0-3]):[0-5]\d:[0-5]\dZ
È possibile provarlo qui: https://regex101.com/r/jE4cE4/1
ha funzionato ..grazie gmiley e cerchi –