簡體   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