Remplacer la chaîne à l'intérieur des balises?
Je veux remplacer un contenu à l'intérieur de certaines balises, par exemple:
<p>this it to be replaced</p>
J'ai pu extraire le contenu entre les deux, avec des groupes comme cela, mais ce que je peux remplacer le groupe?
str = str.replaceAll("<p>([^<]*)</p>", "replacement");
source d'informationauteur membersound
Vous devez vous connecter pour publier un commentaire.
Modifier la regex:
ie
Il utilise un "look behind" et un "look ahead" pour affirmer, mais pas de capture, d'entrée avant/après la mise en correspondance (non-greedy) regex
Juste au cas où certains se poseraient la question, cette réponse est différente pour dacwe: Ses utilisations inutiles entre parenthèses. Cette réponse est la plus élégante 🙂
Vous pouvez utiliser lookaround (anticipation positif et lookbehind) pour cela:
Modifier la regex:
"(?<=<p>)(.*?)(?=</p>)"
et vous serez amende.Exemple:
De sortie:
Notez cependant que si vous êtes l'analyse du HTML, vous devriez être en utilisant un analyseur HTML, souvent des expressions régulières n'est pas assez bon...