javascript - 正则表达式答疑
三叔
三叔 2017-06-26 10:50:05
0
2
910
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 司徒正美

求大神给我讲解下这个正则表达式,实在看不明白π-π。。。
谢谢啦

三叔
三叔

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

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

世界只因有你

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!