使用 javascript regexp 查找第一个和最长的匹配

2024-03-28

我有一个像下面的简化示例一样的正则表达式:

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/ ?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 javascript regexp 查找第一个和最长的匹配 的相关文章

随机推荐