搜尋

首頁  >  問答  >  主體

javascript - 正規表示式答疑

var html = "<p><a href='http://www.cnblogs.com/rubylouvre/'>Ruby Louvre</a>by <em>司徒正美</em></p>";
var text = html.replace(/<(?:.|\s)*?>/g, "");
console.log(text);//VM247:3 Ruby Louvreby 司徒正美

請大神給我講解下這個正規表示式,實在看不明白π-π。 。 。
謝謝啦

三叔三叔2739 天前948

全部回覆(2)我來回復

  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-26 10:52:05

    /    # 开始符
    <    # 就是<这个字符
    (    # 括号表示捕获, 意思是能在 正则的group函数中, 获取相应的值
    ?:    # 这个又取消括号的捕获功能, 就是上一行的说明无效了.
    .    # 单个字符
    |    # 逻辑或的意思, 范围为括号中
    \s    # 空白
    )    # 一对括号
    *    # 一个或多个, 这儿表示 一个或多个 括号中的内容
    ?    # 非贪婪, 表示 前面()* 这个组能少就少
    >    # 字符>
    /g    # 表示全局搜索, 就是 match_all 的意思.

    你這兒是替換功能, 就是把 這種替換成空

    回覆
    0
  • 世界只因有你

    世界只因有你2017-06-26 10:52:05

    可以去 https://regex101.com/ 自己試試看,左邊上面可以輸入表達式。下面輸入測試的被配對內容。右邊有詳細解釋。
    另外這個正規式的|s是浪費的,只需要寫/<(?:.)*?>/g即可,如果不需要對捕獲組做操作,非捕獲組也沒有必要。可以更簡化為/<.*?>/g

    回覆
    0
  • 取消回覆