use*_*341 41 javascript arrays expression
在JavaScript中是否有一种方法可以获得字符串与正则表达式数组匹配的布尔值?
例子是('if'语句代表我想要实现的目标):
var thisExpressions = [ '/something/', '/something_else/', '/and_something_else/'];
var thisString = 'else';
if (matchInArray(thisString, thisExpressions)) {
}
Run Code Online (Sandbox Code Playgroud)
and*_*rsh 62
使用更实用的方法,您可以使用数组函数实现与单行的匹配:
ECMAScript 6:
const regexList = [/apple/, /pear/];
const text = "banana pear";
const isMatch = regexList.some(rx => rx.test(text));
Run Code Online (Sandbox Code Playgroud)
ECMAScript 5:
var regexList = [/apple/, /pear/];
var text = "banana pear";
var isMatch = regexList.some(function(rx) { return rx.test(text); });
Run Code Online (Sandbox Code Playgroud)
Gil*_*esC 18
var thisExpressions = [/something/, /something_else/, /and_something_else/];
var thisExpressions2 = [/else/, /something_else/, /and_something_else/];
var thisString = 'else';
function matchInArray(string, expressions) {
var len = expressions.length,
i = 0;
for (; i < len; i++) {
if (string.match(expressions[i])) {
return true;
}
}
return false;
};
setTimeout(function() {
console.log(matchInArray(thisString, thisExpressions));
console.log(matchInArray(thisString, thisExpressions2));
}, 200)?
Run Code Online (Sandbox Code Playgroud)
您可以使用.test()在找到您在另一个字符串中查找的内容时返回一个布尔值:
var thisExpressions = [ '/something/', '/something_else/', '/and_something_else/'];
var thisString = new RegExp('\\b' + 'else' + '\\b', 'i');
var FoundIt = thisString.test(thisExpressions);
if (FoundIt) { /* DO STUFF */ }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
78081 次 |
最近记录: |