J'ai différents formats d'heure qui entrent dans mon rapport. J'essaie de standardiser le format. Les deux que j'ai vus jusqu'à présent sont les suivants.Regex pour capturer l'horodatage dans différents formats
3. When: 150845Z - 161045Z Jan 16
When: 15 08:45Z - 16 10:45Z Jan 16
Mon but est de transformer ces données à partir de l'entrée ci-dessus dans les
suivantsStart date and time 01/15/2016 08:45
End date and time 01/16/2016 10:45
J'ai plusieurs groupes de capture et se divise pour y arriver et d'être aiguise il est assez grand et je pense ça peut être simplifié.
Je peux poster chaque étape de code que j'ai cependant que ce serait vraiment gonfler ce poste. Pour la date de début et je fais ce qui suit
(?s)(?<=^.When:\s)[a-zA-Z0-9]+
Pour la date et heure de fin, je fais ce qui suit
When:.+(?<=-)(\w.*)
Je voudrais vraiment réduire cela autant que possible. J'ai essayé d'implémenter cette méthode Regex for capturing different date formats cependant je suis vraiment nouveau à Regex et pièce des articles ensemble jusqu'à ce que je l'obtienne au travail.
Merci
Informations supplémentaires
Je suis actuellement lié à l'utilisation Nintex Workflows pour transformer les données. Je voudrais commencer la capture après When:\s
puis je peux utiliser [, :]
pour supprimer les espaces et les deux-points restants. Cela laisserait les données dans un format que je peux manipuler.
Votre [premier regex] (http://regexstorm.net/tester?p= (% 3fs) (% 3f% 3c% 3d% 5e.When% 3a % 5cs)% 5ba-zA-Z0-9% 5d% 2b & i = 3. + Quand% 3a + 150845Z + - + 161045Z + Jan + 16% 0d% 0aQuand% 3a + 15 + 08% 3a45Z + - + 16 + 10% 3a45Z + Jan + 16) ne fonctionne pas - qu'est-ce que vous avez l'intention de faire correspondre? Le second obtient juste la partie après '-': ne pourriez-vous pas séparer la chaîne? Ne devriez-vous pas vraiment chercher "Quand:", obtenir la sous-chaîne après et diviser avec "" - "' pour obtenir les pièces dont vous avez besoin? –
C'est ce que je fais maintenant, mais ça ne marche pas très bien. Mon objectif est d'avoir les captures suivantes. 'Mois, date de début, date de fin, année, heure de début, heure de fin'. Je ne suis pas sûr de savoir comment diviser les données. – JeremyA1
Voir d'abord [cette démo d'IDEONE] (http://ideone.com/uBqU6K). Est-ce que le fractionnement est OK? Si non, quelle sortie exacte voulez-vous obtenir? Ensuite, vérifiez cette [démo regex] (http://regexstorm.net/tester?p=%5e (% 3f% 3a% 5cd% 2b% 5c.% 5cs *)% 3fWhen% 3a% 5cs * (% 5cd% 7b2% 7d)% 5cs * (% 5cd% 7b2% 7d)% 3a% 3f (% 5cd% 7b2% 7dZ)% 5cs * -% 5cs * (. *) & I = 3. + Quand% 3a + 150845Z + - + 161045Z + Jan + 16% 0d% 0aLorsque% 3a + 15 + 08% 3a45Z + - + 16 + 10% 3a45Z + Jan + 16 & o = m). Est-ce mieux? –