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

标签 javascript regex greasemonkey wildcard

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

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

我希望能够在 javascript 中使用 greasmonkey wildchar 测试 url

最佳答案

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

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

用法:

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

关于javascript - 将 greasemonkey 通配符转换为正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5236821/

相关文章:

javascript - 如何在纯 JavaScript 中执行 XML 的包容性规范化?

javascript - 如何将 PHP 正则表达式转换为将阿拉伯字符匹配到 JS 正则表达式

javascript - 为什么 Node 在脚本和 repl 中执行不同的正则表达式匹配?

javascript - 我的 Greasemonkey 脚本没有在页面上找到元素(链接)?

javascript - 有没有办法散列用于 map 的 html dom 元素?

javascript - 如何防止在 React 应用程序中拖放图像?

javascript - Node.js 和 Mongoose,无法恢复 _i​​d

python - UnicodeDecodeError,python中Snowball stemming算法的ascii处理

javascript - Chrome 拒绝在注入(inject)脚本中声明变量

greasemonkey - 选择文本后如何调用函数