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对域名过于允许。