Javascript正则表达式特殊字符不起作用

时间:2018-10-26 04:17:41

标签: javascript regex

我有一个字符串:

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);

但它不起作用。

请问有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

假设它始终是URL,而分隔符始终是",我们可以在这里使用更简单的正则表达式,例如:

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

所以我们要寻找一个以http开头的字符串,该字符串后面要加上"以外的任何其他字符,因为匹配字符串永远不会得到一个,因为这是一个分隔符。

LMK如果情况更广(不是URL,可能不是以http开头,等等),我将调整正则表达式。