我有一个字符串看起来像:
var str = https://sharengay.com/movie13.m3u8?pid=144.21.112.0&tcp=none
我想在开始时?pid=
删除以结束。结果如下:
var str = https://sharengay.com/movie13.m3u8
我试图:
str = str.replace(/^(?:?pid=)+/g, "");
但它显示如下错误:
正则表达式无效:/ ^(?:?pid =)+ /:无需重复
答案 0 :(得分:1)
您可以创建一个网址对象并连接container
和a
:
origin
答案 1 :(得分:1)
您可以使用split
var str = "https://sharengay.com/movie13.m3u8?pid=144.21.112.0&tcp=none"
var result = str.split("?pid=")[0];
console.log(result);
答案 2 :(得分:1)
如果您真的想在字符串级别使用正则表达式执行此操作,则只需将/\?pid=.*$/
替换为""
:
str = str.replace(/\?pid=.*$/, "");
匹配?pid=
及其后面的所有内容(.*
)到字符串末尾($
)。
直播示例:
var str = "https://sharengay.com/movie13.m3u8?pid=144.21.112.0&tcp=none";
str = str.replace(/\?pid=.*$/, "");
console.log(str);

答案 3 :(得分:1)
你必须逃避?
,如果你想从那一点删除所有内容,你还需要一个.+
:
str = str.replace(/\?pid=.+$/, "")
答案 4 :(得分:1)
您可以使用拆分功能仅获取没有查询字符串的网址。
以下是示例。
var str =' https://sharengay.com/movie13.m3u8?pid=144.21.112.0&tcp=none&#39 ;;
var data = str.split("?");
警报(数据[0]);
答案 5 :(得分:1)
你可以简单地使用split(),我认为这很简单。
var str = "https://sharengay.com/movie13.m3u8?pid=144.21.112.0&tcp=none";
str = str.split("?pid");
console.log(str[0]);