首页 > 解决方案 > 正则表达式匹配开头和结尾没有中间

问题描述

我怎样才能合并这两个正则表达式?这很有趣,因为它允许匹配字符串的开头结尾而不触及中间的内容。

function cleanURL(url) {
    url = url.replace(/^(?:https?:\/\/)?(?:www\.|ww\d\.|w\d\d\.)?/, '')
    url = url.replace(/(\/.*)/, '')
    return url
}

console.log(cleanURL('https://hello-world.example.tld/yello-blue/green')) 

结果:hello-world.example.tld

标签: javascriptregex

解决方案


与其尝试使用正则表达式来梳理 URL 的一部分,不如使用URL该类:

new URL("https://hello-world.example.tld/yello-blue/green").hostname

这并不意味着它不能用正则表达式来完成,你只需要寻找介于//and之间的任何内容/

所有这一切,我不确定你的实际意图是什么,因为有一堆恶作剧www等等。该URL方法不会过滤,它只会返回主机名。


推荐阅读