Question

try:
    pattern=r'<tr><td><a href='(?P<link>[\s\S]*?)'[\s\S]*?><img src='(?P<img>[\s\S]*?)'     width='130' height='130'[\s\S]*?/></a></td>'
except:
    try:
        pattern=r"<tr><td><a href='(?P<link>[\s\S]*?)'[\s\S]*?><img src='(?P<img>[\s\S]*?)' width='130' height='130'[\s\S]*?/></a></td>"
    except:
        pattern=r"""<tr><td><a href='(?P<link>[\s\S]*?)'[\s\S]*?><img src='(?P<img>[\s\S]*?)' width='130' height='130'[\s\S]*?/></a></td>"""

J'écris des expressions régulières à travers un outil, puis générer le code python. Il y a des situations où je dois utiliser "ou « ou « » » pour envelopper l'expression régulière. Je veux essayer / sauf l'erreur. Si l'erreur est capturé, alors je peux essayer un autre. Mais cela n'a pas fonctionné. Toute aide?

Était-ce utile?

La solution

La déclaration try / except en Python est utilisé pour les erreurs qui se produisent pendant que votre programme est en cours d'exécution. D'autre part, vous rencontrez des erreurs qui se produisent lors de la compilation. Dans ce cas, try / except ne vous aidera pas.

On dirait que vous seriez mieux loti en utilisant toujours """ pour entourer vos expressions régulières qui contiennent différents types de citations. En Python, la seule chose que vous ne pouvez pas mettre dans une chaîne triple cité est une triple citation.

Autres conseils

Vous devez échapper à vos citations à l'intérieur du RE. Dans votre première ligne, tous les guillemets simples doivent être protégés comme \'.

Ne pas utiliser un bloc d'essayer de réparer votre RE défectueux. Il suffit de le faire dès la première fois.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top