0
votes

Extrait de regex Word et fin avec espace dans la chaîne

J'essaie de filtrer et d'extraire un mot de la ligne. Le motif est: gr.c.24 grcach gralldkd gr_3ad etc xxx

Je suis capable de trouver le motif mais pas capable de mettre fin à la rencontre de l'espace. < p> code est: xxx


4 commentaires

. * correspond à tout ce qui suit, y compris les suites de poids. [^ \ s] * doit correspondre à quoi que ce soit, sauf WhitSpaces. Voulez-vous correspondre à GR + autre chose que des espaces blancs?


@LukasneugeBauer Tout blancheur sauf le caractère de nouvelle ligne sauf si flags = re.dotall est spécifié.


Pouvez-vous modifier votre message et vous montrer quelle est la sortie souhaitée de votre script Devrait-elle ressembler? De la description, il est difficile de dire.


fin avec quand on rencontre des espaces


3 Réponses :


1
votes

Readlines () Strong> Méthode Levez de nouveau caractère de ligne "\ n" strong> J'ai donc utilisé la compréhension de la liste pour supprimer ce personnage en utilisant rstrip () forte> méthode et ne pas fonctionner sur des lignes vides à l'aide de Isspace () forte> méthode.

import re
fp_data = []
with open("output", "r") as fp:
    fp_data =  [line.rstrip() for line in fp if not line.isspace()]

for line in fp_data:
    match = re.search("\sGR.*", line)
    print(line) 
    if match:
        print(match)
        print(match.group())


1 commentaires

Vous avez entièrement modifié votre question alors maintenant ma réponse regarde un sans importance!



1
votes

Utilisation:

import re

with open("output", "r") as fp:
    for line in fp:
        matches = re.findall(r"(?:\s|^)(GR\S*)", line)
        print(line, matches)


6 commentaires

Mais il ne correspondra que GR seulement mais je dois couvrir GR.2.4. Gcacch gr_400 gr_ac aussi


Parfait fera des tests


n'a pas pensé que \ s peut être utile ici


J'ai mis à jour la réponse car il semble que vous recherchiez réellement des mots composés de GR suivi de caractères alpha (a ... z). S'il y a plusieurs de ces mots dans la chaîne, utilisez retranchez .


besoin d'inclure le mot gr.a.c aussi gr_ aussi. En bref, n'importe quelle chose commence avec GR et fin lorsqu'il est trouvé espace ou nouveau mot


en elle peut alphanumérique,



1
votes

Je ne sais pas si j'ai bien compris votre et votre et votre modifier après ma question sur la sortie souhaitée correctement, mais en supposant que vous souhaitez répertorier tous Sevensifements de mots qui commencent par gr , voici une suggestion: xxx

Utilisation des limites de mots ( \ b ) a le bénéfice de la correspondance au début de la ligne et de fin de ligne.


0 commentaires