javascript正则表达式搜索每个单词和后续单词的开头

时间:2015-01-13 09:10:19

标签: javascript regex

我正在尝试根据用户输入编写一个正则表达式,用于搜索字符串中每个单词的开头和后面的单词(不包括空格)。这是我正在使用的当前代码。

var ndl = 'needlehay', //user input
re = new RegExp('(?:^|\\s)' + ndl, 'gi'), //searches start of  every word
haystack = 'needle haystack needle second instance';
re.test(haystack); //the regex i need should find 'needle haystack'

我很乐意欣赏任何帮助或建议。

谢谢!

1 个答案:

答案 0 :(得分:0)

我会迭代针,并手动尝试每个变化

function check(needle, haystack) {
    if (haystack.replace(/\s/g, '').indexOf(needle) === 0) return true;

    return needle.split('').some(function(char, i, arr) {
        var m = (i===0 ? '' : ' ') + needle.slice(0,i) +' '+ needle.slice(i);
        return haystack.indexOf(m) != -1;
    });
}