Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/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 - Fatal编程技术网

Regex 仅匹配仅包含URL列表中的二级域的链接

Regex 仅匹配仅包含URL列表中的二级域的链接,regex,Regex,我正在尝试筛选链接列表,以仅匹配那些仅为二级域的链接 成功: https://www.thingisawesome.anything https://thingisawesome.anything http://www.thingisawesome.anything http://thingisawesome.anything http://thingisawesome.anything/ https://www.thingisawesome.anything/ 失败: http://thin

我正在尝试筛选链接列表,以仅匹配那些仅为二级域的链接

成功:

https://www.thingisawesome.anything
https://thingisawesome.anything
http://www.thingisawesome.anything
http://thingisawesome.anything
http://thingisawesome.anything/
https://www.thingisawesome.anything/
失败:

http://thingisawesome.ventures/index.html
https://subdomain.geocities.com/
https://www.twitter.com/8288hs98ff
这让我很接近:

(http)s?(:\/\/)(w*)(\.?)(\w*)(。(\w*)(\/?)

但它不会拒绝失败的捕获组,只匹配其中的一部分。

根据示例(与TLD不匹配),这些示例显示了以换行符分隔的URL列表(否),并假设稍后不使用尝试中的捕获组,您希望匹配(在多行模式下):

  • 起跑线
  • http
  • 可选的
    s
  • ://
  • 可选的
    www.
  • 2LD和TLD
  • 可选斜杠
  • 行尾
综合起来,我们可以:

^https?://(?:www\.)?[a-zA-Z0-9][a-zA-Z0-9-]+\.[a-zA-Z0-9][a-zA-Z0-9-]+/?$

在您的示例中。我的理解正确吗?您想匹配只有
http
https
方案、任何二级域和可选的
www
子域的URL?对不起,我说错了。我不是在寻找TLD,而是一个只有第二级域的链接,即http或https。更新了正则表达式<代码>\w对域名过于允许。