У меня есть RegExp, как в следующем упрощенном примере:
var exp = /he|hell/;
Когда я запускаю строку, она дает мне первое совпадение, fx:
var str = "hello world";
var match = exp.exec(str);
// match contains ["he"];
Я хочу первый и самый длинный из возможных совпадений ,
и под этим я подразумеваю сортировку по индексу, а затем по длине.
Поскольку выражение объединено из массива RegExp, я ищу способ найти самое длинное совпадение без необходимости переписывать регулярное выражение.
Это вообще возможно?
Если это не так, я ищу способ легко проанализировать выражение и расположить его в правильном порядке. Но я не могу понять, как выражения могут быть намного сложнее, fx:
var exp = /h..|hel*/