J'essaie d'utiliser une expression de regex que j'ai trouvée sur ce site Web et cela ne semble pas fonctionner. Toutes idées?
String d'entrée strong>: p> regex strong>: p>
4 Réponses :
Ajouter RegexoptionS.SinglineLine Code> <script
>
alert(1)
</script
/**/
>
Merci. Toute autre recommandation concernant les packages C # tels que l'agilité à analyser HTML ???
singleline code> est l'option que vous voulez; Il permet . code> correspondre à la ligne de ligne. multiligne code> causes $ code> et ^ code> correspondant avant et après (respectivement) lignes lignes; C'est sans importance ici.
La raison pour laquelle la regex échoue est que votre entrée a Pour résoudre ce problème, vous pouvez utiliser le utilisé Newlines code> et le méta caractère . code> ne correspond pas pas. REGEXOPTIONS.SINGLLINE CODE> OPTION AS S.MARK DITES, OU Vous pouvez modifier la regex à: p> [\ d \ d] < / code> au lieu de . code>. p> \ d code> est un chiffre et \ d code> est n'importe quel non-chiffre, donc [\ d \ d] code> est un chiffre ou un non-chiffre qui est efficacement tout char. p> p>
Merci. Est-ce une solution aussi pour les étiquettes de script imbriquées?
Ceci est un peu plus court: ou p>
Merci. Est-ce une solution aussi pour les étiquettes de script imbriquées?
Oui, absolument parce que les scripts ne sont jamais imbriqués.
Ils peuvent être imbriqués d'une manière, en fait. Par exemple, si une personne attribue une variable comme var a = "
Vous ne devez pas utiliser regex pour essayer de parse i> html: HTML n'est pas assez régulier ;; Au lieu de cela, vous devez utiliser un analyseur HTML - comme sur la base de DOM.
On dirait que vous n'avez pas lu cet article expliquant comment utiliser Regex pour analyser HTML: Stackoverflow.com/questions/1732348/...
Voir la réponse de S.Mark. Mais dans l'ensemble, ce n'est pas une bonne regex et de toute façon, les regexes ne conviennent pas vraiment pour cela.
@Pascal Martin: Il ne veut pas analyser, simplement supprimer du texte. Ne vois pas une différence?
Tim et Pascal sont corrects. Chaque fois que j'écris du code pour rechercher des constructions HTML dangereuses, j'utilise toujours un DOM, jamais une regex. Si pour aucune autre raison i> il y a tellement de façons d'échapper à HTML, il est presque impossible de regex.