separateGroups(node, match, matchIdx, filterCb, eachCb) {
    let matchLen = match.length;
    for (let i = 1; i < matchLen; i++) {
      let pos = node.textContent.indexOf(match[i]);
      if (match[i] && pos > -1 && filterCb(match[i], node)) {
        node = this.wrapGroups(node, pos, match[i].length, eachCb);
      }
    }
    return node;
  }
Separate groups
@param {HTMLElement} node - The text node where the match occurs
@param {array} match - The current match
@param {number} matchIdx - The start of the match based on ignoreGroups
@param {Mark~wrapMatchesFilterCallback} filterCb
@param {Mark~wrapMatchesEachCallback} eachCb