【问题标题】:Regex: How to capture second part of the url by regex and jQuery正则表达式:如何通过正则表达式和 jQuery 捕获 URL 的第二部分
【发布时间】:2018-05-17 21:40:38
【问题描述】:

所以这是我的网址,我需要分成两部分。

1) http://localhost:8800/gb/

2) http://localhost:8800/gb/About.aspx

3) http://localhost:8800/gb/product.aspx?id=1&vref=201

4) http://localhost:8800/gb/Contact.aspx

现在告诉我应该使用哪个正则表达式来拆分上述网址。 第二部分将保存国家代码后的网址

假设这是我的网址http://localhost:8800/gb/About.aspx 所以第二部分将是 About.aspx

我有一个正则表达式(https?:\/\/[^\/]+)\/(.*) 将网址分成两部分,但我想从国家代码中获取。谢谢

【问题讨论】:

标签: jquery regex


【解决方案1】:

一种可能的方法是^(?:\/\/|[^\/]+)*\/[a-zA-Z]{2}\/。这只是基于Get relative URL from absolute URL 加上允许使用 2 个字符的国家/地区代码。

演示:https://regex101.com/r/5fpRWX/1/

【讨论】:

  • 当我测试你的代码时它没有工作。看看我如何测试它`var url = 'localhost:8800/gb/About.aspx?id=2&vref=3'; var arr = url.split(^(?:\/\/|[^\/]+)*\/\S{2}\/);警报(arr [0]);警报(arr[1]);`
  • @Thomas 你的 javascript 是错误的。它必须是url.split(/^(?:\/\/|[^\/]+)*\/\S{2}\//);
  • 在 split() 函数中粘贴正则表达式时,为什么要添加 / 作为第一个和最后一个字符?
  • 因为这就是您在 javascript 中使用正则表达式的方式。
【解决方案2】:

您可以在 2 位国家/地区代码上使用 split,并在任一侧使用 /

var url = 'http://localhost:8800/gb/About.aspx?id=2&vref=3';
var arr = url.split(/\/[a-z]{2}\//);

console.log(arr[0]); //=> http://localhost:8800
console.log(arr[1]); //=> About.aspx?id=2&vref=3

RegEx Demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    • 2014-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多