javascript - 使用 javascript 正则表达式查找第一个和最长的匹配项

标签 javascript regex

我有一个类似于以下简化示例的 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/

相关文章:

javascript - 为什么 window.scrollY + element.getBoundingClientRect().top 不等于 element.offsetTop?

javascript - 使用 Javascript AJAX(不是 jQuery)提交嵌入式 Mailchimp 表单

javascript - 如何通过 JavaScript 在无限滚动结果上添加行为?

javascript - 匹配空格分隔的固定字符组

javascript - 仅匹配 2 级深度页面

php - 字符串中最接近特定短语的数字

javascript - 需要对一些基本设置进行一些说明

javascript - 我如何获得 myCountry 的值(value)?

javascript - JavaScript 中分支重置组的替代方案?

java - 设置特殊正则表达式的长度