本周发现 - 正则运用大法!!!

帖子的要求很严谨,在哀酱的提醒下,把我之前遇到的小问题总结一下吧,但最重要的是照片。

很讨厌正则,没有原因

说一下我这周遇到的一个小问题吧。

在table列表中,数据若包含有图片与文字的htnl 进行截取操作,去除图片。

原图是这样的:

image.png

别说了,在没有图片之前他还可以,有图片后,丑爆了!

因为数据中包含标签、图片、文字信息,这个时候需要用到正则匹配了

我很讨厌正则,可能是以前被折磨过。

首先找一个正则的片段:/<(\w+)[^>]*>(.*?**<\/\1>**)?/,这个是匹配W的

然后自己修改一下/<(img+)[^>]*>(.*?**<\/\1>**)?/;

因为是从数组中拿的值,所以需要遍历该数组

let reg = /<(img+)[^>]*>(.*?<\/\1>)?/;
this.proDynamicList.forEach((el) => {
          let str = el.gdpm04.match(reg);
        });

这时拿到了正则匹配到的数据

image.png

然后,拿匹配到的img去替换,让数据中只显示文字:el.str = el.gdpm04.replace(str[0], "")

这里我用了三元表达式,判断每个数据中是否包含图片,有图片就替换,没有图片就等于原来的数据

let reg = /<(img+)[^>]*>(.*?<\/\1>)?/;
        this.proDynamicList.forEach((el) => {
          let str = el.gdpm04.match(reg);
          str != null
            ? (el.str = el.gdpm04.replace(str[0], ""))
            : (el.str = el.gdpm04);
          // debugger;
        });

比起这周遇到的问题,这个蛮想记录一下的。

重点:分享一张正的照片

b84b305e33958b634a6bfe4a120ef0a.png

起初我就想分享一张照片,为此写了一个代码问题总结的帖子。

嗯,果然很正!