搜索

首页  >  问答  >  正文

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 天前949

全部回复(2)我来回复

  • 女神的闺蜜爱上我

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

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

    你这儿是替换功能, 就是把 <xxxx> 这种替换成空

    回复
    0
  • 世界只因有你

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

    可以去 https://regex101.com/ 自己试试看,左边上面可以输入表达式。下面输入测试的被匹配内容。右边有详细解释。
    另外这个正则式的|s是浪费的,只需要写/<(?:.)*?>/g即可,如果不需要对捕获组做操作,非捕获组也没有必要。可以更简化为/<.*?>/g

    回复
    0
  • 取消回复