Использование RegExp. $ 1 в Fiddlers CustomRules.js - PullRequest
0 голосов
/ 12 января 2012

Я использую Fiddler уже несколько дней, расширяя CustomRules.js своей собственной логикой.

Я пытался извлечь некоторую информацию из тела ответа с помощью регулярных выражений

Это то, что я скопировал с http://msdn.microsoft.com/en-us/library/bahdt634%28v=VS.71%29.aspx

    var s : String;
    var re : RegExp = new RegExp("d(b+)(d)","ig");
    var str : String = "cdbBdbsbdbdz";
    var arr : Array = re.exec(str);
    s = RegExp.$1;

Однако использование этого в fiddler приведет к ошибке при сохранении файла. Сказать RegExp. $ 1 не поддерживается.

Я предполагаю, что это связано с (http://msdn.microsoft.com/en-us/library/bahdt634%28v=VS.71%29.aspx)

Примечание. Свойства объекта RegExp недоступны при работе в быстром режиме, по умолчанию для JScript .NET. Чтобы скомпилировать программу из командной строки, которая использует эти свойства, вы должны отключить опцию fast с помощью / fast-. Отключение быстрого режима в ASP.NET небезопасно, поскольку режим не включен.

Однако как мне переключиться в быстрый режим в CustomRules.js? Это возможно?

1 Ответ

1 голос
/ 12 января 2012

Не знаю о JScript, но в JavaScript RegExp.prototype.exec возвращает null или массив, членами которого являются совпадающая подстрока, за которой следуют захваченные группы.

Так что ваш s будет arr[1].

...