JS将RegEx与While循环结合起来

时间:2016-11-11 15:45:56

标签: javascript regex while-loop

尝试搜索特定文本并检查该行是否存在。如果显示“是”,否则显示“否”。

目前我所拥有的:

const str = `Hello my name is Stack Overlow.`
const publish = /Hello/g;
    let pub;
    while ((pub = publish.exec(str)) !== null) {
        if (pub.index === publish.lastIndex) {
            publish.lastIndex++;
        }
        pub.forEach((ko, groupIndex) => {
            document.write(`"Exists": "${ko}",<br>`);
        });
    }

2 个答案:

答案 0 :(得分:1)

试试这个:

var string = 'Hello my name is not important';
var pattern = /Hello/g;

if(pattern.test(string)) {
  console.log('yes');
}
else {
  console.log('no');
}

答案 1 :(得分:0)

如果您对RegExes不是特别热衷,也可以使用indexOf()执行此操作:

const str = 'Hello my name is Stack Overlow.'
const containsSubstring = (string, substring) => ~string.indexOf(substring) ? 'Yes' : 'No';

console.log(containsSubstring(str, 'Hello')); // 'Yes'

我还将检查包装在一个匿名函数containsSubstring中。如果您稍后尝试检查其他子字符串,这将避免重复,因为您可以使用任何字符串/子字符串对调用containsSubstring,而无需重写代码或重复自己。