/ / javascript regex pour faire correspondre les attributs dans la chaîne HTML - javascript, regex

regex javascript pour les attributs correspondants dans une chaîne HTML - javascript, regex

Quelqu'un peut-il regarder mon expression régulière en javascript et suggérer une bonne?

J'essaie de sélectionner des paires d'attributs (nom / valeur) dans une chaîne HTML / XML comme suit?

<unknowncustom:tag attrib1="XX" XX"" attrib2="YY" YY"" attrib3=ZZ""">/unknowncustom:tag>

SOME TEXT that is not part of any tag and should not be selected, name="XX", y="ee";

<custom:tag attrib1="XX" XX"" attrib2="YY" YY"" attrib3=ZZ""">/custom:tag>

J'ai trouvé de nombreuses solutions mais aucune ne semble infaillible (y compris celle-ci Expression régulière pour extraire les attributs de balise)

Mon expression rationnelle actuelle sélectionne la première paire d'attributs, mais ne parvient pas à déterminer comment la faire sélectionner tous les attributs correspondants. Voici l'expression régulière:

/<w*:?w*s+(?:((w*)s*=s*((?:(?:"[^"]*")|(?:"[^"]*")|[^>s]+))))[^>]*>/gim

Merci

Réponses:

1 pour la réponse № 1

Essayons:

/(w+)s*=s*(([""])(.*?)3|([^>s]*)(?=s|/>))(?=[^<]*>)/g

Regex n'est pas idéal pour cela. Si vos attributs contiennent des crochets angulaires non échappés < > cela ne fonctionnera probablement pas.

Preuve: http://regex101.com/r/dD4uT4