Blame | Last modification | View Log | RSS feed
if(!dojo._hasResource["dojo.regexp"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojo.regexp"] = true;dojo.provide("dojo.regexp");dojo.regexp.escapeString = function(/*String*/str, /*String?*/except){// summary:// Adds escape sequences for special characters in regular expressions// except:// a String with special characters to be left unescaped// return str.replace(/([\f\b\n\t\r[\^$|?*+(){}])/gm, "\\$1"); // stringreturn str.replace(/([\.$?*!=:|{}\(\)\[\]\\\/^])/g, function(ch){if(except && except.indexOf(ch) != -1){return ch;}return "\\" + ch;}); // String}dojo.regexp.buildGroupRE = function(/*Object|Array*/arr, /*Function*/re, /*Boolean?*/nonCapture){// summary:// Builds a regular expression that groups subexpressions// description:// A utility function used by some of the RE generators. The// subexpressions are constructed by the function, re, in the second// parameter. re builds one subexpression for each elem in the array// a, in the first parameter. Returns a string for a regular// expression that groups all the subexpressions.// arr:// A single value or an array of values.// re:// A function. Takes one parameter and converts it to a regular// expression.// nonCapture:// If true, uses non-capturing match, otherwise matches are retained// by regular expression. Defaults to false// case 1: a is a single value.if(!(arr instanceof Array)){return re(arr); // String}// case 2: a is an arrayvar b = [];for(var i = 0; i < arr.length; i++){// convert each elem to a REb.push(re(arr[i]));}// join the REs as alternatives in a RE group.return dojo.regexp.group(b.join("|"), nonCapture); // String}dojo.regexp.group = function(/*String*/expression, /*Boolean?*/nonCapture){// summary:// adds group match to expression// nonCapture:// If true, uses non-capturing match, otherwise matches are retained// by regular expression.return "(" + (nonCapture ? "?:":"") + expression + ")"; // String}}