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 司徒正美
請大神給我講解下這個正規表示式,實在看不明白π-π。 。 。 謝謝啦
/ # 开始符 < # 就是<这个字符 ( # 括号表示捕获, 意思是能在 正则的group函数中, 获取相应的值 ?: # 这个又取消括号的捕获功能, 就是上一行的说明无效了. . # 单个字符 | # 逻辑或的意思, 范围为括号中 \s # 空白 ) # 一对括号 * # 一个或多个, 这儿表示 一个或多个 括号中的内容 ? # 非贪婪, 表示 前面()* 这个组能少就少 > # 字符> /g # 表示全局搜索, 就是 match_all 的意思.
你這兒是替換功能, 就是把 這種替換成空
可以去 https://regex101.com/ 自己試試看,左邊上面可以輸入表達式。下面輸入測試的被配對內容。右邊有詳細解釋。 另外這個正規式的|s是浪費的,只需要寫//g即可,如果不需要對捕獲組做操作,非捕獲組也沒有必要。可以更簡化為/<.>/g
|s
//g
/<.>/g
你這兒是替換功能, 就是把 這種替換成空
可以去 https://regex101.com/ 自己試試看,左邊上面可以輸入表達式。下面輸入測試的被配對內容。右邊有詳細解釋。
另外這個正規式的
|s
是浪費的,只需要寫//g
即可,如果不需要對捕獲組做操作,非捕獲組也沒有必要。可以更簡化為/<.>/g