', start: 8, end: 13},
- * // {name: 'match', value: '
an
', start: 13, end: 27},
- * // {name: 'right', value: '
', start: 27, end: 33},
- * // {name: 'between', value: ' example', start: 33, end: 41}
- * // ]
- *
- * // Omitting unneeded parts with null valueNames, and using escapeChar
- * const str3 = '...{1}.\\{{function(x,y){return {y:x}}}';
- * XRegExp.matchRecursive(str3, '{', '}', 'g', {
- * valueNames: ['literal', null, 'value', null],
- * escapeChar: '\\'
- * });
- * // -> [
- * // {name: 'literal', value: '...', start: 0, end: 3},
- * // {name: 'value', value: '1', start: 4, end: 5},
- * // {name: 'literal', value: '.\\{', start: 6, end: 9},
- * // {name: 'value', value: 'function(x,y){return {y:x}}', start: 10, end: 37}
- * // ]
- *
- * // Sticky mode via flag y
- * const str4 = '<1><<<2>>><3>4<5>';
- * XRegExp.matchRecursive(str4, '<', '>', 'gy');
- * // -> ['1', '<<2>>', '3']
- *
- * // Skipping unbalanced delimiters instead of erroring
- * const str5 = 'Here is