2017-07-09 1 views
-2
<title> 

    Ask a Question - Stack Overflow Ask a Question - Stack Overflow 

</title> 

quand j'étais essayer d'attraper le titre vide. mon modèle estObtenir les mots multilignes <title></title> REGEX asp classique

<title[^>]*>([^<]+)</title> 

comment puis-je supprimer des lignes vides ou attraper uniquement le texte du titre ?.

merci

+0

Essayez-vous de le faire sur le serveur ou en JavaScript? Si vous essayez de faire ceci est JavaScript, devez-vous utiliser une expression régulière? – KevBot

+0

Vous ne serez pas en mesure d'analyser de manière fiable HTML en utilisant une expression régulière. Vous obtiendrez de meilleurs résultats avec un analyseur HTML. Voir aussi: https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags –

Répondre

0

www.regexpal.com est une grande utilité pour répondre à ce genre de questions. Le drapeau m sur un objet RegEx interceptera bien plusieurs lignes. Cela devrait correspondre à tout ce qui se trouve entre les balises de titre dans le premier groupe correspondant, même si c'est multi-ligne, j'utilise toujours le drapeau i, juste pour gérer les inconnues si vous travaillez avec des données tierces:

/<title>([^<]+)<\/title>/im 

Si vous souhaitez le whitepsace enlevé (c.-à-couper), vous pouvez faire quelque chose comme:

/<title>(?:\s+)?([^<]+)(?:\s+)?<\/title>/im 

Dans les deux cas, votre premier groupe de correspondance devrait avoir ce que vous souhaitez:

myText.match(/<title>(?:\s+)?([^<]+)(?:\s+)?<\/title>/im)[1]