code: function consumeExpr(remaining) {
    var expr;
    var match;
    var name;
  
    for (var j = 0; j < exprs.length; j++) {
      var e = exprs[j];
      var n = e.name;
      var m = remaining.match(e.regexObj);
  
      if (m != null) {
        match = m;
        expr = e;
        name = n;
        var consumed = m[0];
        remaining = remaining.substring(consumed.length);
        break; // we've consumed one expr, so we can return now
      }
    }
  
    return {
      expr: expr,
      match: match,
      name: name,
      remaining: remaining
    };
  }
docs: Of all the expressions, find the first match in the remaining text.
  @param {string} remaining The remaining text to parse
  @returns The matched expression and the newly remaining text `{ expr, match, name, remaining }`