Expression régulière pour correspondre à tous les caractères entre & lt; h1 & gt; marque
J'utilise sublime text 2 de l'éditeur. Je voudrais utiliser une regex pour correspondre à tous les caractères entre tous les h1
balises.
Comme de maintenant, je suis en utilisant comme ce
<h1>.+</h1>
Son travail d'amende si la balise h1 n'a pas de pauses.
Je veux dire pour
<h1>Hello this is a hedaer</h1>
sa fonctionne bien.
Mais sa ne fonctionne pas si la balise ressembler à ceci
<h1>
Hello this is a hedaer
</h1>
Quelqu'un peut m'aider avec la syntaxe?
source d'informationauteur Giri
Vous devez vous connecter pour publier un commentaire.
Par défaut
.
correspond à tous les caractères sauf le caractère de nouvelle ligne.Dans ce cas, vous aurez besoin de DOTALL option, qui va faire
.
correspond à n'importe quel caractère, y compris le caractère de nouvelle ligne. DOTALL option peut être spécifiée en ligne, comme(?s)
. Par exemple:Cependant, vous verrez que ça ne fonctionnera pas, car le comportement par défaut du quantificateur est gourmand (dans ce cas sa
+
), ce qui signifie qu'il va essayer de consommer autant de caractères que possible. Vous devrez faire paresseux (consomment que peu de caractères que possible) par l'ajout de?
après le quantificateur+?
:Sinon, l'expression régulière peut être
<h1>[^<>]*</h1>
. Dans ce cas, vous n'avez pas besoin de spécifier une option.Depuis que cette question est à la tête des résultats Google recherche d'une expression régulière en essayant de trouver tous les personnages entre une balise h1 j'ai pensé que je donnerais la réponse. Puisque c'était ce que je cherchais.
Que les regex, si elle est utilisée sur un échantillon de texte comme
<h1>A title</h1> <p>Some content</p> <h1>Another title</h1>
ne retourA title
.