var html = "<p><a >Ruby Louvre</a>by <em>司徒正美</em></p>";
var text = html.replace(/<(?:.|\s)*?>/g, "");
console.log(text);//VM247:3 Ruby Louvreby 司徒正美
求大神給我講解下這個正則表達式,實在看不明白π-π。。。
謝謝啦
/ # 開始符
< # 就是<這個字符
( # 括號表示捕獲, 意思是能在 正則的group函數(shù)中, 獲取相應的值
?: # 這個又取消括號的捕獲功能, 就是上一行的說明無效了.
. # 單個字符
| # 邏輯或的意思, 范圍為括號中
\s # 空白
) # 一對括號
* # 一個或多個, 這兒表示 一個或多個 括號中的內(nèi)容
? # 非貪婪, 表示 前面()* 這個組能少就少
> # 字符>
/g # 表示全局搜索, 就是 match_all 的意思.
你這兒是替換功能, 就是把 <xxxx> 這種替換成空
可以去 https://regex101.com/ 自己試試看,左邊上面可以輸入表達式。下面輸入測試的被匹配內(nèi)容。右邊有詳細解釋。
另外這個正則式的|s
是浪費的,只需要寫/<(?:.)*?>/g
即可,如果不需要對捕獲組做操作,非捕獲組也沒有必要??梢愿喕癁?code>/<.*?>/g