if ((r = pattern.match(/^(regexp|glob|exact):/))) { 
if ((r = pattern.match(/^(regexp|regex|glob|exact):/))) { 
function seleniumEquals(type, pattern, expression) {	if (type == 'String[]') {		var matcher = 'exact';		var r;		if ((r = pattern.match(/^(regexp|glob|exact):/))) {			matcher = r[1];			pattern = pattern.substring(r[0].length);		} else if (pattern.match(/[\*\?]/)) {			matcher = 'glob';		}		var separateEquals = 'exact' != matcher || (this.useSeparateEqualsForArray && this.useSeparateEqualsForArray());		var list = parseArray(pattern);		if (separateEquals) {			var result = new EqualsArray(expression);			result.conditions.push(new Equals(list.length, { toString: function() { return result.length() }}));			for (var i = 0; i < list.length; i++) {				result.conditions.push(seleniumEquals('String', matcher + ':' + list[i], 													  { index: i, toString: function() { return result.item(this.index) }}));			}			return result;		} else {			return new Equals(xlateValue(type, pattern), expression);		}	} else if (type == 'String' && pattern.match(/^regexp:/)) {		return new RegexpMatch(pattern.substring(7), expression);	} else if (type == 'String' && (pattern.match(/^glob:/) || pattern.match(/[\*\?]/))) {		pattern = pattern.replace(/^glob:/, '');		pattern = pattern.replace(/([\]\[\\\{\}\$\(\).])/g, "\\$1");		pattern = pattern.replace(/\?/g, "[\\s\\S]");		pattern = pattern.replace(/\*/g, "[\\s\\S]*");		return new RegexpMatch("^" + pattern + "$", expression);	} else {		pattern = pattern.replace(/^exact:/, '');		return new Equals(xlateValue(type, pattern), expression);	}}
4983	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/4983/4497c99c9a32043ac3de5ddbf90a3343bdff9d24/remoteControl.js/clean/src/content/formats/remoteControl.js