正则表达式搜索字符串中的最长单词

时间:2015-09-14 09:54:38

标签: javascript regex string search

我有一个字符串:

var str = "Lorem ipsum dolor sit amet, consectetur adipiscing elit";

有没有办法使用正则表达式找到字符串中最长的单词?这将阻止我将字符串拆分为单词然后循环遍历所有字符串。

可能我可以在JavaScript中使用它:

str.search(/regex/); // should return 28 (position of word 'consectetur')

感谢。

1 个答案:

答案 0 :(得分:0)

检查此更新LINK

JS代码:

 var str = "Lorem ipsum dolor sit amet, consectetur adipiscing elit";
    str = str.replace(/[^A-Za-z\s]/g, " ");
        var maxoffset = 0, maxlen=0, wordoffset = 0;
        for (var i = 0; i < str.length; i++) {
            if (str[i] == " ") {
                wordoffset = i + 1;
            }
            if (i - wordoffset + 1> maxlen) {
                maxoffset = wordoffset;
                maxlen = i - wordoffset + 1;
            }
        }
        return str.substring(maxoffset, maxoffset + maxlen);