弹幕正则屏蔽的正确使用姿势


b站具有弹幕的正则屏蔽 功能,很多人可能不知道正则是什么意思,但是作为程序员,这是必要的修养。如果你不是程序员,也没有关系,本文力图让普通人也可以理解和使用正则屏蔽。不过我主要是写python3的,b站不知道用什么语言处理的,不同语言的正则基本是一样的,但是还是有一些不同的,当然用作弹幕屏蔽不需要知道那么深入。

什么是弹幕屏蔽?

相信大家都用过弹幕屏蔽功能,在电脑手机端都有。普通的弹幕屏蔽规则很简单,比如你屏蔽“前”字,那么所有带“前”字的弹幕都会被屏蔽掉,比如视频开头喜欢刷的“前三”,“前十”,但是同时,你也看不到“前方高能”这样的弹幕了。

正则屏蔽的一个实例

比方说很多人经常刷:

这么可爱的动画刷这个太禽兽了

考虑到还有人刷类似"我家母猪怀孕,谁干的?",所以大概会选择屏蔽"干的",然而,我又想到有些大快人心的地方看到大家刷"干的漂亮"还是很开心的,那么有什么办法呢。如果你知道正则表达式的话,你可以输入下面的正则屏蔽词:

/干的[!?。!?.]*$/

下面解释一下这是什么意思呢?

怎么样,是不是很神奇。这就是正则表达式的有趣之处。

正则匹配基础

其他例子

  1. 前面提到的刷“前几”的,可以这样屏蔽:/[前第][一-十]/。这要感谢在汉字编码时一到十的是连续的,因此这个可以匹配“第三”之类的

  2. 在《狼与香辛料》开头,有很多人刷“从……来的“,屏蔽单字杀伤面积过大,用正则可以写:/从.+来/。还记得.匹配除了换行符\n之外任意单字符吗,还有+的用法。这个例子说明了正则屏蔽可以屏蔽某些句式,在某些讨厌的大量刷屏时还是很有用的。

  3. 关于刷日期,如果时单纯数字日期,/\d+.\d+.\d+/就可以屏蔽诸如2018.6.18。不过有时候他们刷2月30日这样就很讨厌。我想到的办法也只有/[0145789]/,当然我还是想看23333和666666的。

  4. 忘记在哪部番,有大量”吓得我……“,然而他们毕竟还是小学生,以至于出现不少”下的我……“。于是我只好正则屏蔽:/^[下吓][的地得到]我/,注意我用了一个从头开始匹配。所以说,以前也有不少,屏蔽“菜月昴”却因为别人写错字看到不想看到的词,也可以采用类似的写法。

大量刷别的番相关内容是不好的


-- --
  • 投诉或建议
评论