docs: function(regex){
  		//if it isn't global, `exec()` will not start at `lastIndex`
  		if(!regex.global)
  			regex.compile(regex.source, flags(regex));
  		regex.lastIndex = this.position;
  		var m = regex.exec(this.source);
  
  		//all matches must start at the current position.
  		if(m && m.index!=this.position){
  			return null;
  		}
  
  		if(m) this.position += m[0].length;
  		return m;
  	}