0
votes

Python Comment trouver une sous-chaîne dans une chaîne et imprimer la chaîne entière contenant la sous-chaîne

Je suis en difficulté pour trouver une solution pour imprimer une chaîne qui contient une sous-chaîne particulière. Alors par exemple J'ai une chaîne

mystr = "tique> nom = mon_this_is_monday value = 10 tag>" code> p>

Je souhaite rechercher Dans la chaîne ci-dessus et imprimez "mon_this_is_monday" code> mais je ne sais pas comment le faire p>

J'ai essayé de faire p>

    pattern = re.compile('mon_')
    try:
        match = re.search(pattern, mystr).group(0)
        print(match)
    except AttributeError:
        print('No match')


1 commentaires

imprimer (mystr) ?????


3 Réponses :


2
votes

Imprimer ([chaîne pour chaîne dans mystr.split ("") si "lun" dans string])


0 commentaires

3
votes

Nous pourrions essayer d'utiliser re.findall avec le motif \ b \ w * lun \ w * \ b : xxx

Ceci imprime: xxx

Le motif de regex correspond: xxx


4 commentaires

Génial! Pourriez-vous s'il vous plaît élaborer comment avez-vous trouvé le modèle? Génial! De plus, si je veux imprimer la valeur ("10") Comment puis-je faire ça?


J'ai ajouté une explication du motif de regex, mais pour votre exigence de valeur, je vous laisserai la question de savoir comment appliquer ma réponse (ou poser une autre question plus tard).


Assez juste. Merci


Lookahead positif peut également fonctionner re.findall (r '(? = (Mon \ _ \ s *))', mystr)



0
votes

Vous pouvez également effectuer une recherche sur REGEX

import re


mystr = "<tag> name = mon_this_is_monday value = 10 </tag>"

abc = re.search(r"\b(\w*mon\w*)\b",mystr)

print(abc.group(0))


0 commentaires