将greasemonkey通配符转换为正则表达式

时间:2011-03-08 18:40:30

标签: javascript regex greasemonkey wildcard

是否有一个简单的替换函数可以将greasemonkey通配符更改为正则表达式模式?

我想将'http://www.google.com/*/index.html'转换为/^http://www.google.com\/\w\/index.html$/

我希望能够在javascript

中使用greasmonkey wildchar测试url

3 个答案:

答案 0 :(得分:3)

当然,我可能还没有用尽通配符的所有选项(我也没有一个庞大的试验数据库),但这就是我想出的:

String.prototype.toRegExp = function()
{
    var result = this.replace(/([\/\(\)\[\]\.\?])/g,'\\$1');
    result = result.replace('*','.*');
    return new RegExp(result);
}

用法:

var re = "http://www.google.com/*".toRegExp();

答案 1 :(得分:2)

@include/@exclude转换为reg exp的代码为here

所有这一切都是*.*取代而[(等字符转换为\[,{{1然后\(被发送到string

如果您使用Scriptish,则可以使用new RegExp(string)的正则表达式语法,如此

@include/@exclude

答案 2 :(得分:0)

只需查看Greasemonkey's source

即可