我有一个类似于以下简化示例的 RegExp:
var exp = /he|hell/;
当我在一个字符串上运行它时,它会给我第一个匹配项,fx:
var str = "hello world";
var match = exp.exec(str);
// match contains ["he"];
我想要第一个也是最长的匹配, 我的意思是按索引排序,然后按长度排序。
由于表达式是从一个 RegExp 数组组合而来的,我正在寻找一种无需重写正则表达式即可找到最长匹配项的方法。
这可能吗?
如果不是,我正在寻找一种方法来轻松分析表达式,并按正确的顺序排列它。但我无法弄清楚,因为表达式可能会复杂得多,fx:
var exp = /h..|hel*/
最佳答案
/hell|he/
怎么样?
关于javascript - 使用 javascript 正则表达式查找第一个和最长的匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2109684/