首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

正則表達式匹配中括號標籤:刪除 [標籤] 及 [/標籤] 內容

     編輯:程式設計綜合問答

需求

文本含 `[b]粗體[/b]`、`[center]居中[/center]` 等標籤,需全部刪除保留純文本。

正則方案

// 匹配 [xxx] 或 [/xxx] 形式標籤
const regex = /\[\/?[a-z]+(?:\s+[^\]]*)?\]/gi;

// 替換為空
const cleanText = rawText.replace(regex, '');

正則解析

  • `\[` 匹配左中括號。
  • `\/?` 可選斜杠(匹配閉合標籤)。
  • `[a-z]+` 標籤名(字母)。
  • `(?:\s+[^\]]*)?` 可選屬性部分(如 `size="5"`)。
  • `\]` 匹配右中括號。
  • `gi` 全局不區分大小寫。

測試

const raw = '家住[b]小何[/b]是[center]員工[/center]...';
console.log(raw.replace(/\[\/?[a-z]+(?:\s+[^\]]*)?\]/gi, ''));
// 輸出: 家住小何是員工...

擴展:保留標籤內文本

上述正則直接刪除標籤,**保留標籤包裹的內容**。若需連同內容一起刪除(如刪除整個 `[secret]機密[/secret]`),需更複雜的遞歸匹配或分步處理。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved