JavaScript >> Javascript 文檔 >  >> Tags >> regex

正則表達式:修復重複的斜杠而不影響協議

假設您要修復如下所示的 URL:

https://www.example.com/my/path//to-file.jpg

使用字符串替換或簡單的正則表達式可能會錯誤地“修復”協議後面的雙斜杠。我們可以通過使用負面的lookbehind來解決這個問題。

(?<!:)/+

對於 PHP:

<?php
$url = 'https://www.example.com/my/path//to-file.jpg';
$str = preg_replace('#(?<!:)/+#im', '/', $url);
// https://www.example.com/my/path/to-file.jpg

對於 Javascript:

let url = 'https://www.example.com/my/path//to-file.jpg';
url.replaceAll(/(?<!:)\/+/gm, '/');
// "https://www.example.com/my/path/to-file.jpg"

Tutorial JavaScript 教程
  1. 我保證你不必等待很長時間來理解 Javascript 中的異步

  2. 一個簡單的 Nodejs CLI 應用程序收費多少?

  3. 使用 LintLens 插件查看 VSCode 中的 ESLint 規則詳細信息

  4. 使用 Nodeshift 將 Node.js 應用程序輕鬆部署到 Red Hat OpenShift

  5. ESLint 如何執行您的設計系統最佳實踐

  6. Vue.js 功能組件

  7. 防止 TypeScript 公共函數調用私有函數

  1. 在 React 中使用 Appwrite 進行身份驗證 - 第 2 部分

  2. JavaScript 中的回調、承諾和異步/等待

  3. 從 const 數組中獲取數字並將 +2 添加到每個數字 |必須使用 for 循環

  4. JavaScript 數據結構(數組、集合、映射)指南

  5. 使用 JavaScript 創建熱圖圖表

  6. 在 E6 中設置一個基本的 express 服務器,使用 eslint 和 Airbnb 樣式指南引導

  7. 可擴展的 JavaScript 應用程序架構

  1. Axios 攔截器模型和陷阱

  2. 製作可共享的基於天氣的音樂預測

  3. 2014 年 2 月 10 多個有趣的 Web 開發發現

  4. 🤖 重複測試。重複測試。重複測試。