面试题19. 正则表达式匹配

126 阅读1分钟

面试题19. 正则表达式匹配

eval函数就是可以把字符串 当做 js代码执行的函数 将p中的点. 加个转义字符\,然后将p的代码转换为正则表达式

方法一 使用eval

var isMatch = function(s, p) {
    p = '/^'+ p.replace('.','\.') + '$/'
    var reg = eval(p)
    return reg.test(s)
};

方法二 使用new RegExp

var isMatch = function(s, p) {
    p = '^'+ p.replace('.','\.') + '$'
    var reg = new RegExp(p) 
    return reg.test(s)
};