Что такое регулярное выражение, которое можно использовать для проверки CSS-селектора и может сделать это так, чтобы недействительный селектор быстро остановился.Регулярное выражение, которое проверяет селектор CSS
Допустимые селекторы:
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
Недействительные селекторы, например, содержат дополнительные пробелы в конце строки:
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
Возможно, вы сможете написать RE для этого, но уверены ли вы, что писать грамматический синтаксический анализатор не будет лучше? – zigdon
Я как раз собирался опубликовать ответ на ваш другой вопрос, но вы его удалили. –
* «Недействительные селекторы, например, содержат лишние пробелы в конце строки:« * Какая это будет строка? Я никогда не сталкивался с парсером CSS (например, для файла CSS, атрибута стиля и т. Д.), Который имел проблемы с завершающим пробелом. –