如何为URL编写正则表达式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为URL编写正则表达式相关的知识,希望对你有一定的参考价值。

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

这是我的网址:

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

这是我的RegExp:

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

输出是:

ie.crust.com:18000/TEST/

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

pie.crust.com:18000

我错过了什么?我只是想不出来。有任何想法吗?

先感谢您。

答案

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

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

您可以通过以下方式使用String.replace()

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

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

另一答案

试试这个:

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

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

另一答案

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

“pie”的p被匹配为http规则的一部分,因此不包括在内。使用正面的后视修复此问题。

http://regexr.com?2uhjf

另一答案
try this...
//http://([^/]+)/.***/

以上是关于如何为URL编写正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

如何为逗号分隔的字符串编写具有匹配组的正则表达式

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性

jQuery validate:如何为正则表达式验证添加规则?

如何为提及和主题标签修复此正则表达式?

如何为 sed 创建一个简单的正则表达式?

如何为 apollo 客户端生成片段类型?