0
votes

Regex extraire une partie du fichier journal deux lignes au-dessus du mot-clé

J'essaie d'écrire un script Python pour vous aider à analyser le fichier journal pour rechercher horodaystaques basé sur un identifiant unique . Le fichier est très long et des astuces que j'ai essayées sélectionneraient tout au-dessus de la ligne de mots de clé. Idéalement, j'aimerais avoir un mot clé (ID) et une regex correspondante y a annexé pour une clarté maximale; Ce que je vais essayer de réaliser avec python. Mais puis-je demander si quelqu'un pourrait m'aider à améliorer l'expression de regex pour le code suivant? Tentative de regex, qui sélectionne tout au-dessus de _id : xxx

et le code en question: xxx < / pré>


3 commentaires

Eh bien, votre motif devrait réellement correspondre et capturer les deux lignes dans le groupe 1. Voir (? M) ^ ((?:. * \ N) {2}). * 8355371640847 Demo , qui est fondamentalement la même chose.


Pas une inétermination de regex en soi, mais vous pouvez lire le fichier journal via un 3-élément Max Long DEQUE et revenir facilement à trois lignes pour récupérer les données précédemment lues lorsqu'une correspondance est trouvée.


Vous avez dit que vous recherchez l'horodatage au-dessus de l'identifiant donné. Cela vous donnera uniquement l'horodatage seulement. x = re.findall (R'CreateTime: (. *?). * 835537164084782 ', str, flags = re.dottall)


3 Réponses :


0
votes

essayer ceci (([^ \ n] \ n [^ \ n] \ n)). * 8355371640847


1 commentaires

Je suis désolé, mais cela semble trouver des allumettes à l'aide de la REGEX101.com



0
votes

Bonjour, Je ne comprends pas pour cela, je l'ai certainement essayé plusieurs fois. Mais le code: xxx

actuellement fait le travail; Il sélectionne seulement la ligne qui est deux lignes au-dessus de la chaîne de recherche. Hier même String sélectionnée tout , mais il a peut-être dû faire quelque chose comment je copier / collé le Dum DB.

Merci.


0 commentaires

0
votes

J'espère que vous essayez d'obtenir cette sortie xxx

est: ['Creatiste: 2020-06-03T16: 01: 35.812Z - Son ligne à sélectionner \ N employé: \ n'] ['CreateTime: 2020-06-03T16: 01: 35.812Z --Elly cette ligne à sélectionner \ n']


0 commentaires