^表示字符串必須以后面的規則開頭, 在這里就是說字符串必須以\s*開頭.
\s 是空格的意思, * 表示有0個或多個
\s* 就是有0個或多個空格
(^\s*) 表示的就是以0個空格或者多個空格開頭
| 表示或的意思, 也就是滿足| 左邊的也成立, 滿足 | 右面的也成立.
\s*前面說過了
$ 的意思是字符串必須以前面的規則結尾
(\s*$) 的意思就是, 以0個空格或者多個空格結尾
/.../g
是正則表達式的屬性, 表示全文匹配, 而不是找到一個就停止.
所以這個正則表達式替換的就是前導空格和后導空格
因為有前導空格, 就說明以0個或多個空格開頭, 滿足正則表達式中 | 前面的條件: (^\s*)
而如果有后導空格, 就說明以0個或多個空格結尾, 滿足正則表達式中 | 后面的條件: (\s*$)
所以這個正則表達式替換的就是前導空格和后導空格
因為有前導空格, 就說明以0個或多個空格開頭, 滿足正則表達式中 | 前面的條件: (^\s*)
而如果有后導空格, 就說明以0個或多個空格結尾, 滿足正則表達式中 | 后面的條件: (\s*$)