繁体   English   中英

使用 Node.js 提取带有破折号的 URL 域名的正则表达式

[英]Regex to extract URL domain name with a dash in it using Node.js

我正在尝试从 URL 中仅提取网站名称,而所有的 stackoverflow 答案都没有引导我到任何地方。

我的 URL 格式如下:

https://order-dev.companyname.com

我只想从 URL 中提取order-dev

让这个对我有用(?<=\/\/)(.*?)(?=\.)

如果您的节点应用程序有一个express 框架,那么很容易直接从传入的请求中获取域/子域列表。

使用 Express 框架

req.hostname() // returns 'example.com'
req.subdomains() // return ['ferrets', 'tobi'] from Host: "tobi.ferrets.example.com"

对于普通的 NodeJS

所有传入请求都将包含以下 header origin ,可以在处理传入请求的任何函数中使用以下request.headers.origin提取MDN LINK

在大多数 JavaScript 引擎(即,大多数浏览器(不包括 IE)和 Node String.prototype.split()中,您还可以为此使用URL ,特别是URL.host结合使用。

 const siteUrl = 'https://order-dev.companyname.com'; const myURLObject = new URL(siteUrl); const subdomain = myURLObject.host.split(".")[0]; console.log(subdomain); // "order-dev"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM