Maison  >  Questions et réponses  >  le corps du texte

Expressions régulières impliquant AND en python

J'ai du mal depuis un moment maintenant à essayer d'obtenir la bonne regex pour la tâche suivante :

Je souhaite supprimer les données des balises de tableau dans un fichier HTML à l'aide de Python. Mon approche consiste à effectuer ce qui suit de manière récursive (stocker les lignes HTML entre les balises sous forme de chaînes) :

s = "Contenu requis"

  1. Réaffectez la chaîne s à la chaîne en supprimant tout ce qui se trouve entre les "<...>".

s = re.sub('<{1}( n'est pas '<' 也不是 '>').*>{1}', '', s)

  1. Répétez cette opération jusqu'à ce qu'il vous reste s = "contenu souhaité".

Ma question est de savoir comment implémenter la partie grasse entre parenthèses. Merci. votre texte

Je l'ai essayé

import re

test_str = '<td style="color:blue">Hello</td>'
test_str = re.sub('<{1}^[<>].*>{1}','',test_str)
print(test_str)

Vous pouvez voir que ma chaîne de test reste la même. Qu'ai-je fait de mal?

Le code ci-dessus que j'attends me donne test_str = "Bonjour", je vais réinjecter cela dans cette méthode, qui extrait ensuite le "", me donnant "Bonjour".

P粉988025835P粉988025835421 Il y a quelques jours615

répondre à tous(1)je répondrai

  • P粉348088995

    P粉3480889952023-09-15 09:00:18

    Pour annuler une classe de caractère, remplacez ^ 放在 [ 之后。此外,您不需要为出现一次的字符指定 {1}.

    test_str = re.sub('<[^<>]*>', '', test_str)
    

    Cependant, veuillez noter qu'il est plus approprié d'utiliser un analyseur HTML dédié comme BeautifulSoup au lieu d'expressions régulières pour obtenir des données à partir de HTML.

    répondre
    0
  • Annulerrépondre