Привет всем. Написал регу для раскладки селектора по частям
var scanSelector = prompt("Enter selector: ", '#cssplay > ns|a.p1:active .p4 img[src=".png\\\\"], a|ns[rel="te\\"]st\\\\"]:not(div[test="name"])'),
rega = /\s*(?:(\*|(?:(?:\*|[\w\-]+)\|)?[\w\-]+))?(?:\[\s*(?:((?:[\w\-]+\|)?[\w\-]+)\s*((?:~|\^|\$|\*|\|)?=)\s*)?((?:".*?(?:(?:[\\]{2}(?="))|[^\\])"|'.*?(?:(?:[\\]{2}(?='))|[^\\])'|[^"'].*?)?)\s*\])?(?:(\.|#)([\w\-]+))?(?:(:(?::)?)([\w\-]+)(?:\(\s*([^\s,]+)\s*\))?)?(?:(?:\s*(?=\s))?(?:(?:\s(?=,|>|\+|~))?([\s,>+~](?!$)))?)?/g,
nm = [
"Fragment: ",
"Tag name: ",
"Attribute name: ",
"Condition type: ",
"Attribute name/value: ",
"Id or Class prefix: ",
"Id or Class name: ",
"Pseudo type: ",
"Pseudo name: ",
"Pseudo content: ",
"Next search type: "
],
m = null, s = "CSS Selector: " + scanSelector + "\n\n",
lastIndex = 0;
rega.lastIndex = 0;
do {
lastIndex = rega.lastIndex;
m = rega.exec( scanSelector );
for(var i = 0; i < m.length; i++ ) {
s += nm[ i ] + "'" + m[ i ] + "'\n";
}
s += "\n";
} while( ( lastIndex < rega.lastIndex ) && ( rega.lastIndex < scanSelector.length ) );
alert( s );
Помогите найти какой нить необычный селектор, который эта рега просто не захочет скушать.
СПС