我遇到了一些正则表达式问题。
我正在尝试获取此网址中的路径 videoplay
。
http://video.google.co.uk:80/videoplay?docid=-7246927612831078230&hl=en#hello
如果我使用这个正则表达式 /.+
它也匹配 /video
。
我需要某种反/负匹配不包括 //
原文由 ThomasReggi 发布,翻译遵循 CC BY-SA 4.0 许可协议
我遇到了一些正则表达式问题。
我正在尝试获取此网址中的路径 videoplay
。
http://video.google.co.uk:80/videoplay?docid=-7246927612831078230&hl=en#hello
如果我使用这个正则表达式 /.+
它也匹配 /video
。
我需要某种反/负匹配不包括 //
原文由 ThomasReggi 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您的 JavaScript 网络应用程序需要这个:我在这个主题上找到的最佳答案就 在这里。代码的基本(也是原始)版本如下所示:
var parser = document.createElement('a');
parser.href = "http://example.com:3000/pathname/?search=test#hash";
parser.protocol; // => "http:"
parser.hostname; // => "example.com"
parser.port; // => "3000"
parser.pathname; // => "/pathname/"
parser.search; // => "?search=test"
parser.hash; // => "#hash"
parser.host; // => "example.com:3000"
谢谢 John Long,你是白天造的!
原文由 Vlad Mysla 发布,翻译遵循 CC BY-SA 3.0 许可协议
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答2.6k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
此表达式获取
videoplay
之后的所有内容,也就是 url 路径。此表达式获取端口后的所有内容。也由路径组成。
但是,如果使用
Node.js
我推荐本机url
模块。所有的正则表达式都适合你。