Sha256: 431c02bf1e31b8a186a49f323173e0ab1e8e11ac495f13a511bcef9e10fe233c
Contents?: true
Size: 1.98 KB
Versions: 5
Compression:
Stored size: 1.98 KB
Contents
dojo.provide("dojo.regexp"); /*===== dojo.regexp = { // summary: Regular expressions and Builder resources }; =====*/ 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"); // string return 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 array var b = []; for(var i = 0; i < arr.length; i++){ // convert each elem to a RE b.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 }
Version data entries
5 entries across 5 versions & 1 rubygems