Add RegExp style xpath attributes and testcases. e.g. [@foo =~ /bar/i] and [@foo !~ /bar/]

This commit is contained in:
Corey Jewett 2007-04-13 17:48:04 +00:00
parent bfe5f89106
commit 2fac5e7949
2 changed files with 7 additions and 2 deletions

View file

@ -56,6 +56,9 @@ jQuery.extend({
"$=": "z&&z.substr(z.length - m[4].length,m[4].length)==m[4]",
"*=": "z&&z.indexOf(m[4])>=0",
"": "z",
// these are for evaling in a regexp.
"=~": "eval(m[4]).test(z)",
"!~": "!eval(m[4]).test(z)",
_resort: function(m){
return ["", m[1], m[3], m[2], m[5]];
},
@ -67,7 +70,7 @@ jQuery.extend({
// The regular expressions that power the parsing engine
parse: [
// Match: [@value='test'], [@foo]
/^\[ *(@)([\w-]+) *([!*$^=]*) *('?"?)(.*?)\4 *\]/,
/^\[ *(@)([\w-]+) *([!*$^=!~]*) *('?"?)(.*?)\4 *\]/,
// Match: [div], [div p]
/^(\[)\s*(.*?(\[.*?\])?[^[]*?)\s*\]/,