JavaScript 正则表达式匹配函数:支持 . 和 *通配符
可以使用正则表达式的 replace() 方法来实现这个功能。首先,我们需要将输入的字符串中的 . 替换成 \.,将 * 替换成 .*。然后,我们可以使用 RegExp 对象来创建一个正则表达式,然后使用 test() 方法来判断输入的字符串是否与正则表达式匹配。
下面是一个实现的例子:
function matchPattern(pattern, str) {
// 将 '.' 替换成 '\.', 将 '*' 替换成 '.*'
pattern = pattern.replace(/\./g, "\.").replace(/\*/g, "\.*");
// 创建正则表达式对象
var regex = new RegExp("^" + pattern + "$");
// 使用 test() 方法判断输入的字符串是否与正则表达式匹配
return regex.test(str);
}
// 测试
console.log(matchPattern("te.st", "test")); // true
console.log(matchPattern("te.st", "tst")); // false
console.log(matchPattern("te*st", "test")); // true
console.log(matchPattern("te*st", "tst")); // true
在上面的例子中,我们定义了一个 matchPattern() 函数,它接受两个参数:pattern 和 str。pattern 是要匹配的模式,str 是要匹配的字符串。函数首先将 pattern 中的 . 替换成 \.,将 * 替换成 .*,然后使用 RegExp 对象创建一个正则表达式。最后,使用 test() 方法判断输入的字符串 str 是否与正则表达式匹配,如果匹配则返回 true,否则返回 false。
原文地址: https://www.cveoy.top/t/topic/o9oT 著作权归作者所有。请勿转载和采集!