Qu'est-ce qu'une expression régulière qui peut être utilisée pour valider un sélecteur CSS, et peut le faire de telle sorte qu'un sélecteur invalide s'arrête rapidement.Expression régulière qui valide un sélecteur CSS
sélecteurs valides:
EE
#myid
.class
.class.anotherclass
EE .class
EE .class EEE.anotherclass
EE[class="test"]
.class[alt~="test"]
#myid[alt="test"]
EE:hover
EE:first-child
E[lang|="en"]:first-child
EE#test .class>.anotherclass
EE#myid.classshit.anotherclass[class~="test"]:hover
EE#myid.classshit.anotherclass[class="test"]:first-child EE.Xx:hover
sélecteurs non valides, par exemple contenir des espaces supplémentaires à la fin de la ligne:
EE:hover EE
EE .class EEE.anotherclass
EE#myid.classshit.anotherclass[class="test"]:first-child EE.Xx:hov 9
EE#myid.classshit.anotherclass[class="test"]:first-child EE.Xx:hov -daf
Vous pourriez être en mesure d'écrire un RE pour cela, mais êtes-vous sûr que l'écriture d'un analyseur de grammaire ne serait pas mieux? – zigdon
J'étais sur le point de poster une réponse à votre autre question mais vous l'avez supprimée. –
* "Les sélecteurs invalides, par exemple, contiennent des espaces supplémentaires à la fin de la ligne:" * Quelle ligne serait-ce? Je n'ai jamais rencontré un analyseur CSS (par exemple, pour un fichier CSS, un attribut de style, etc.) qui avait des problèmes avec les espaces de fin. –