Mon modèle actuel regex:REGEX pour correspondre uniquement l'ensemble contenant une chaîne spécifique
(?s)]*>(.*?)\bsomethin\b(.*?)
fragment HTML pour la recherche:
<p>somethin</p>
<p>nuthin</p>
Si je le lance contre le fragment HTML ci-dessus, il correspondra <p>somethin</p>
c'est ce dont j'ai besoin.
Cependant, si je change la chaîne incorporée de modèle de "quelque chose" à "nuthin", elle correspondra aux deux balises p dans leur intégralité quand je veux seulement la deuxième balise. Le comportement est le même si j'imprime les p tags plutôt que de les avoir sur une seule ligne et cela est également souhaité.
Merci.
Je ne comprends pas ce que vous voulez ... Qu'est-ce que vous voulez dire avec "quand je veux seulement le deuxième ensemble de balises"? Mieux vaut également utiliser des bibliothèques spécifiques pour manipuler le HTML, n'utilisez pas d'expressions rationnelles. – m0skit0
N'utilisez pas regex avec HTML! – hsz
Bienvenue à pourquoi ne pas analyser html avec le tutoriel regex. Si vos compétences sont assez élevées, vous devriez écrire un analyseur html avec regex vous-même - à partir de zéro. Si ce n'est pas le cas, je suggérerais * que vous utilisiez l'utilitaire que votre plate-forme fournit pour gérer le HTML. – FailedDev