Специальный символ регулярного выражения javascript не работает

У меня есть строка:

for (;;); {
  "__ar": 1,
  "payload": null,
  "jsmods": {
    "require": [
      ["ServerRedirect", "redirectPageTo", [],
        ["https:\/\/bigzipfiles.facebook.com\/p\/dl\/download\/file.php?r=100028316830939&t=100028316830939&j=11&i=5823694&ext=12121516&hash=AaBVNURld6wrKBcU", true, false]
      ]
    ],
    "define": [
        ["KSConfig", []
        }

Я пытаюсь использовать регулярное выражение: https://bigzipfiles.facebook.com/p/dl/download/file.php?r=100028316830939&t=100028316830939&j=11&i=5823694&ext=12121516&hash=AaBVNURld6wrKBcU

Я использовал

var results = $(document).find("pre").html();
var regex1 = new RegExp(/["\w\.\/\;\?\=\-\&\\\\"]/);
var resultsReplace = regex1.exec(results);
console.log(resultsReplace);

Но это не работает.

Кто-нибудь может мне помочь?

Ваше регулярное выражение соответствует только одному символу. Регулярное выражение, соответствующее URL-адресу, немного сложнее. Взгляните на это: [javascript] regex extract URL

Felix Kling 26.10.2018 06:23
1
1
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Предполагая, что это всегда URL, а разделитель всегда ", мы можем использовать здесь гораздо более простое регулярное выражение, например:

str.match(/http[^"]+/)[0]

Итак, мы ищем строку, начинающуюся с http, с любыми следующими символами, кроме ", так как строка соответствия никогда не может получить его, потому что это разделитель.

LMK, если регистры шире (не URL-адрес, может не начинаться с http и т. д.), И я скорректирую регулярное выражение.

Большое спасибо, пользуюсь этим var regex1 = new RegExp(/http[^"]+[\w$]/g);

tamlevn 26.10.2018 06:53

Другие вопросы по теме