如何编写 URL 的正则表达式

发布于 2024-12-01 00:06:18 字数 387 浏览 2 评论 0原文

我一直在使用正则表达式资源管理器,但我仍然无法想出正确的模式。

这是我的 URL:

http://pie.crust.com:18000/TEST/TEST.html

这是我的正则表达式:

/[^http:\/\/][\w-\W]+[\/]/

输出是:

ie.crust.com:18000/TEST/

我想要的只是域(基本上是 // 和 / 之间的所有内容):

pie.crust.com:18000

我缺少什么?我就是想不通。有什么想法吗?

先感谢您。

I've been using the Regular Expression Explorer but I still can't come up with the right pattern.

Here's my URL:

http://pie.crust.com:18000/TEST/TEST.html

Here's my RegExp:

/[^http:\/\/][\w-\W]+[\/]/

And the output is:

ie.crust.com:18000/TEST/

All I want is the domain (basically everything inbetween // and /):

pie.crust.com:18000

What am I missing? I just can't figure it out. Any ideas?

Thank you in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

北方的韩爷 2024-12-08 00:06:18

试试这个:http:\/\/([^\/]+)

Try this one: http:\/\/([^\/]+)

奈何桥上唱咆哮 2024-12-08 00:06:18

[^http:\/\/] 部分与 [^htp:\/] 相同,只是枚举所有不应出现在开头的字符结果字符串的一部分。因此,对于 http://pie.crust.com:18000/TEST/TEST.html http://p 匹配此枚举。我建议您使用以下表达式:

/http:\/\/([^\/]+)\/.*/

您可以使用 String.replace() 的方式如下:

var myUrl:String = "http://pie.crust.com:18000/TEST/TEST.html";
var refinedUrl:String = myUrl.replace(/http:\/\/([^\/]+)\/.*/, "$1");

The part [^http:\/\/] is the same as [^htp:\/] and just enumerates all the characters which shouldn't be in the start part of the resulting string. So for http://pie.crust.com:18000/TEST/TEST.html http://p matches this enumeration. I suggest you the following expression:

/http:\/\/([^\/]+)\/.*/

You can use String.replace() the following way:

var myUrl:String = "http://pie.crust.com:18000/TEST/TEST.html";
var refinedUrl:String = myUrl.replace(/http:\/\/([^\/]+)\/.*/, "$1");
最美不过初阳 2024-12-08 00:06:18

试试这个:(

@http://+(.*?)/@

您的正则表达式不必以 / 开头和结尾 - 使用搜索字符串中没有的其他内容会更容易。

Try this:

@http://+(.*?)/@

(Your regexp doesn't have to start and end with / - it's easier to use something else that isn't in your search string.

日暮斜阳 2024-12-08 00:06:18

(?<=http:\/\/)[a-zA-Z.:0-9-]+

“pie” 的 p 作为 http 规则的一部分进行匹配,并且所以不包括在内。使用积极的后视解决了这个问题。

http://regexr.com?2uhjf

(?<=http:\/\/)[a-zA-Z.:0-9-]+

The p of "pie" is being matched as part of the http rule, and so is not included. Using a positive look-behind fixed this.

http://regexr.com?2uhjf

江城子 2024-12-08 00:06:18
try this...
//http:\/\/([^\/]+)\/.***/
try this...
//http:\/\/([^\/]+)\/.***/
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文