You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从指定URL中提取"123asd"字符串并赋值给变量?

提取URL中子域名"123asd"的实用方法

嘿,作为Web开发新手,这个问题其实挺普遍的,我来给你分享几种不同技术栈下的实现方式,都很容易上手~

JavaScript 实现

方法1:使用原生URL对象(推荐)

现代浏览器和Node.js都支持URL对象,它能帮我们轻松解析URL的各个部分,非常可靠:

// 定义你的URL
const urlStr = 'https://123asd.my.website.com/blabla/blabla/blabla';
// 创建URL实例解析地址
const url = new URL(urlStr);
// 拆分hostname获取第一个部分
const targetSubdomain = url.hostname.split('.')[0];

console.log(targetSubdomain); // 输出:123asd

解释:url.hostname会返回完整的域名部分123asd.my.website.com,用split('.')按点分割成数组后,第一个元素就是我们要的123asd。

方法2:正则表达式

如果需要兼容较旧的环境,或者更灵活匹配,正则也是个不错的选择:

const urlStr = 'https://123asd.my.website.com/blabla/blabla/blabla';
// 匹配http/https开头,到第一个点之前的内容
const regex = /https?:\/\/([^.]+)\./;
const matchResult = urlStr.match(regex);

// 确保匹配成功后再取值
const targetSubdomain = matchResult ? matchResult[1] : null;

console.log(targetSubdomain); // 输出:123asd

Python 实现

如果是后端开发用Python,也有对应的简单方法:

方法1:使用urllib.parse解析

from urllib.parse import urlparse

url_str = 'https://123asd.my.website.com/blabla/blabla/blabla'
parsed_url = urlparse(url_str)
# 拆分域名获取子域名
target_subdomain = parsed_url.hostname.split('.')[0]

print(target_subdomain) # 输出:123asd

方法2:正则表达式

import re

url_str = 'https://123asd.my.website.com/blabla/blabla/blabla'
match_result = re.search(r'https?://([^.]+)\.', url_str)

if match_result:
    target_subdomain = match_result.group(1)
    print(target_subdomain) # 输出:123asd
else:
    print("未匹配到目标子域名")

小提醒

如果你的URL可能存在其他格式(比如没有http/https前缀,或者域名结构更复杂),可以根据实际情况调整代码,但针对你给出的URL,上面的方法都能完美生效~

内容的提问来源于stack exchange,提问作者BRond

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 03:48:20