Регулярное выражение для действительного селектора CSS и / или JQuery - PullRequest
1 голос
/ 16 ноября 2010

Мне нужно что-то вроде этого:

Regex validSelector = new Regex("^[.#a-zA-Z0-9_:[] ]+[,><a-zA-Z0-9_~=\"\":[] ]*$");

Кто-нибудь написал регулярное выражение для проверки селекторов jQuery или CSS? (CSS3 / jQuery1.4)

Или кто-нибудь знает, где я могу найти генератор регулярных выражений или регулярных выражений для проверки селектора jQuery (или, по крайней мере, CSS-селекторов?)

Я пытался просмотреть код sizzle.js Бу Джона Резига и документы w3c для css (http://www.w3.org/Style/CSS/), но в итоге у меня болела голова: (

Думаю, я бы лучше спросил, написал ли кто-нибудь из вас или использовал какой-то фрагмент для этого.

Спасибо !!

Ответы [ 2 ]

1 голос
/ 16 ноября 2010

Спецификация CSS 3-селекторов содержит раздел о грамматике селекторов , которую можно использовать для построения регулярного выражения.Просто начните с селектор и заменяйте каждую переменную ее производством до тех пор, пока не останется никаких переменных.

1 голос
/ 16 ноября 2010

Регулярные выражения не делают хороших парсеров . (Они могут сделать большие части синтаксического анализатора.) Если вам действительно нужно это сделать, вам, вероятно, потребуется использовать синтаксический анализатор. ответы на этот вопрос здесь в StackOverflow может помочь там.

...