преобразовать подстановочный знак greasemonkey в регулярные выражения - PullRequest
1 голос
/ 08 марта 2011

Существует ли простая функция замены, которая изменит подстановочный знак greasemonkey в шаблон регулярного выражения?

Я хочу конвертировать 'http://www.google.com/*/index.html' в /^http://www.google.com\/\w\/index.html$/

Я хочу иметь возможность проверить URL-адрес с помощью wildcharkey wildkey в javascript

Ответы [ 3 ]

3 голосов
/ 08 марта 2011

Конечно, я, возможно, не исчерпал все варианты подстановочных знаков (и при этом у меня не было огромной базы данных для испытаний), но вот что я придумала:

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

Использование:

var re = "http://www.google.com/*".toRegExp();
2 голосов
/ 09 марта 2011

Код, который преобразует @include/@exclude в reg exp: здесь .

Все, что происходит, это то, что * заменяется на .* и такие символы, как [, ( и т. Д. Преобразуются в \[, \(, затем string отправляется new RegExp(string).

Если вы использовали Scriptish , тогда вы можете использоватьсинтаксис регулярного выражения для @include/@exclude s, например

// @include /^http:\/\/www.google.com\/\w\/index.html$/i
0 голосов
/ 08 марта 2011

Просто взгляните на Источник Greasemonkey

...