Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 用于简单URL的正则表达式_Regex_Url - Fatal编程技术网

Regex 用于简单URL的正则表达式

Regex 用于简单URL的正则表达式,regex,url,Regex,Url,我正在寻找简单的网址为正则表达式 http://www.google.com http://www.yahoo.in http://www.example.eu http://www.example.net 等等 不允许有子目录。例如,在这种情况下,它不能验证http://www.google.com/,http://www.yahoo.in/mail 有人知道有什么正则表达式可以这样做吗?我还是个noob,但试试这个: ^http:\/\/[a-zA-Z0-9_\-]+\.[a-zA-Z0

我正在寻找简单的网址为正则表达式

  • http://www.google.com
  • http://www.yahoo.in
  • http://www.example.eu
  • http://www.example.net
  • 等等
不允许有子目录。例如,在这种情况下,它不能验证
http://www.google.com/
http://www.yahoo.in/mail


有人知道有什么正则表达式可以这样做吗?

我还是个noob,但试试这个:

^http:\/\/[a-zA-Z0-9_\-]+\.[a-zA-Z0-9_\-]+\.[a-zA-Z0-9_\-]+$
这一个应该做到:

^(https?:\/\/)?[0-9a-zA-Z]+\.[-_0-9a-zA-Z]+\.[0-9a-zA-Z]+$
这适用于以
http://
https://
开头的URL,或不使用协议名称的URL

正则表达式也应该用作不区分大小写的。在这种情况下,它可以缩短一点:

^(https?:\/\/)?[0-9a-z]+\.[-_0-9a-z]+\.[0-9a-z]+$

如果您不在乎该url是否有效,可以使用:

\S*www\.\S+

所有示例都包含
www.
,后跟一个非空格字符,但在普通单词中不太可能出现这种情况

是否需要http://以及如果没有第三级域,是否应假定为www?您使用哪种语言?如果它有解析URL的工具,请使用它并验证路径、查询和片段标识符是否为空。http://不是必需的,它可以简单到www.google.com允许IP地址吗
128.134.25.5
IPv6呢?@RohitMalish-这样它就能更好地反映您的需求,包括您尝试使用但无法正常工作的代码,并为我们提供更大的背景,这样,如果您选错了树,有人可以为您指出正确的方向。这很有效,谢谢。你能给我一个没有http://的url的例子吗?例如,如果它只是www.google.com。提前感谢缺少两个字符:下划线(
)和破折号(
-
)。只需将“http://”部分设置为可选,您将得到以下结果:
^(http:\/\/)?[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-]+.[a-zA-Z0-9\-]+$
。另外,不要忘了标记回答您问题的答案:)谢谢:)是否可以制作一个与您提供的一样工作但也验证IP地址的正则表达式?是的,它确实存在,并且这些类型的URL也存在。看,我将重复上面Felix Kling写的一条评论:“您使用的是哪种语言?如果它有解析URL的工具,请使用它并验证路径、查询和片段标识符是否为空。”。对于彻底的案例,我们不要重新发明轮子。这会错过权限内用户信息的可能性。有关详细信息,请参阅。