正则表达式(Regular Expression)是一种用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式常用于字符串的搜索、替换和分割等操作。
/abc/
。/(abc)+/
。要获取URL中的一级域名,可以使用以下正则表达式:
const url = "https://www.example.com/path/to/page";
const regex = /^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n]+)/;
const match = url.match(regex);
const domain = match ? match[1] : null;
console.log(domain); // 输出: example.com
^(?:https?:\/\/)?
:匹配字符串开头,可选的http://
或https://
。(?:[^@\n]+@)?
:可选的邮箱地址部分,通常用于匹配邮件URL。(?:www\.)?
:可选的www.
部分。([^:\/\n]+)
:捕获组,匹配一级域名部分,即第一个出现冒号或斜杠之前的部分。原因:
http://
或https://
)。解决方法:
const url = "example.com/path/to/page";
const fullUrl = url.startsWith("http") ? url : "http://" + url;
const regex = /^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n]+)/;
const match = fullUrl.match(regex);
const domain = match ? match[1] : null;
console.log(domain); // 输出: example.com
通过以上方法,可以有效解决URL格式不规范导致的一级域名匹配问题。
领取专属 10元无门槛券
手把手带您无忧上云