Expressions régulières impliquant AND en python
P粉988025835
P粉988025835 2023-09-14 16:30:41
0
1
637

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粉988025835
P粉988025835

répondre à tous(1)
P粉348088995

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal