^([^a-zA-Z\u4E00-\u9FFF]*)(.*?)([^a-zA-Z\u4E00-\u9FFF]*)$
可以分為三個 Group
第一個和第三個取符號
中間取除此之外的所有字元
replace 可以用 $2 將整段匹配的文字,取代為中間的內容
var regex = /^([^a-zA-Z\u4E00-\u9FFF]*)(.*?)([^a-zA-Z\u4E00-\u9FFF]*)$/gm;
var str = ':MySQL 資料庫同步 ';
var result = str.replace(regex, '$2');
console.log(result);
發現可以使用以下方式來捉取符合起始或尾隨的非單字元: ^\W+|\W+$
^\W+
: 在開始時匹配 1+ 個非單字元。|
: 或。\W+$
: 在結束之前符合 1+ 個非單字元。