code: function getLineReplRegExp(rxa, tasks) {
  	var r = '', sf = null;
  	function rxItem(o, i, a) {
  		var s = util.isRegExp(o) ? o.source : escapeRegExp(o);
  		if (s) {
  			r += (sf ? sf(true, s) : '(?:' + s + ')') + (i < (a.length - 1) ? '|' : '');
  		}
  	}
  	if (Array.isArray(rxa) && rxa.length) {
  		rxa.forEach(rxItem);
  		// join tasks with or clause
  		r += '|';
  	}
  	var tsks = Array.isArray(tasks) ? tasks : [];
  	if (tsks.indexOf(chgLog) < 0) {
  		tsks.push(chgLog);
  	}
  	sf = committer.skipTaskGen;
  	tsks.forEach(rxItem);
  	return new RegExp('^.*(' + r + ').*$\n?\r?', 'gmi');
  }
docs: Creates a regular expression for replacing line items
  
  @param rxa
  the optional {Array} of {RegExp} or strings (strings will be
  escaped) that will be included in the final expression
  (concatenated via OR in final expression)
  @param tasks
  an optional {Array} of task names to replace using the generated
  sequence syntax (concatenated via OR in final expression)
  @returns {RegExp} the generated regular expression