随着Acfun的流行度增加,各种各样的喷刷弹幕也更多地占领大家的屏幕阵地,目前主要的手段是回喷反击和重复建议猴子搞弹幕实名制之类的(猴子从来不理),个人觉得{dy}种只会继续降低围观群众的体验,而且这些反喷刷弹幕极难过滤,建议大家不要这样做;第二种会杀掉Acfun的流量,所以就算猴子不搭理我也觉得可以理解。

好在弹幕过滤支持正则表达式了:前段时间做ac娘工具让我对正则表达式有了一定的理解,不过高阶的引用、断言我还是一知半解;这回为了战喷刷,我一次又一次地认真阅读介绍正则表达式的文章,终于基本上弄清楚这两者的意思了,从而继续改进我的过滤弹幕用正则表达式。

战喷刷的指导原则:尽可能减少弹幕,但绝不怕误杀;汉语博大精深,误杀一部分也没关系,我们还有一大片吐槽森林!

当前我所使用的过滤表达式如下:

[2S二M傻吗煞麻].*[痹笔B]|[2S二M]13|烧饼|纱布|垃圾|脑残|混蛋|神经|全家|有病|下限|喷[^神]|[粪艹渣烂厨刷屏噴滚骂韩吠傻痴妓婊嫖娼愤狗贱]|太爽|剧透|抄袭|优越|户口|画质|进度|求BGM|绿毛|女[良马未末]|头身|懂吗|[显AN]卡|香玉|乱(七八|78)糟|去死|[五5](分|毛|mao)|哈日|崇洋媚外|关你|政[治府]|侮辱|废物|恶心|卖肉|难听|棒子|自寻|中[国國]|香芋|日[本文语漫]|密达|空格|(?<!xx)呆|TM[^A]|MD|[你她它他][妈娘妹]|是.字|[弹字]幕[^组]|[坷可柯克][垃拉啦]|意义|智[力商]|\b[操干日]\b|下载|[草操干日].*[B妈娘妹]|[我卧窝].*[草槽]|下限|解释|([①②③④⑤⑥⑦⑧⑨01234567890-9〇一二三四五六七八九零壹贰叁肆伍陆柒捌玖].*){5}|[a-zA-Z;]{15}|\[|(?<reg1>[^ .。])\k<reg1>{4}|(?<reg2>(?![ .。])[\S]{2}).*\k<reg2>

原先的我很傻,忘记了可以用『|』来将多条表达式整合成1条;如你所见,如果你要继续添加表达式,只需要在这条后面加一个『|』然后加上新的表达式则可;而如果删除其中一个表达式的话,要记得删掉附近的一个『|』。

表达式的前面大半部分的作用比较直观,我就不多解释了;主要针对后面的几条长表达式作出解释,因为这东西写出来{jd1}不是为了能够容易看懂,好好解释的话才可以灵活运用。

(?<reg2>(?![ .。])[\S]{2}).*\k<reg2>

过滤掉重复出现的。例如:

  • 去死去死去死:『去死』重复,直接干掉;
  • 死死死死死死:『死死』重复,直接干掉;因为『死』不是一个词,所以是针对『死死』来干掉的;
  • 不是就是不是:有两个『不是』,无论中间有什么,都会被干掉,虽然可能有误杀,不过同一句话出现一个两次的概率我想不是很大,所以个人觉得可以放心地干掉。

有几种情况是豁免的:半角和全角空格、小数点和句号。豁免的原因是,空格党、点点党无伤大雅,而且这样的话大量运用空格的神弹幕不会被干掉,以下的话语也不会被干掉:

  • 我真傻。。。。。。:有人喜欢多加几个句号来表示忧伤XD,我们要宽容www;
  • ……:虽然有人讨厌点点党,但我觉得无伤大雅。

(?<reg1>[^ .。])\k<reg1>{4}

过滤掉5次以上重复的任何字符,同样地不包括半角和全角空格、小数点和句号。如果要更加严格或宽松,可以修改『{4}』中的4。例子很简单就不多解释:

  • 啊啊啊啊啊
  • aaaaa
  • [[[[[

([①②③④⑤⑥⑦⑧⑨01234567890-9〇一二三四五六七八九零壹贰叁肆伍陆柒捌玖].*){5}

杀掉包含不少于5个各种数字组成的字符串,即使数字之间有任何东西。广告Q群杀手,举例:

  • 1234567:这种死定了;
  • 一②叁④5⑥7⑧9:其实你搞成这样别人根本不会慢慢『解码』你的群号去加;
  • 一a二bc三ccc四dee五e六:也可以干掉。

[a-zA-Z;]{15,}

过滤掉长度不少于15的英文字符串,主要针对adsklfjljs;fjda这种乱敲的弹幕。

\[

这个比较搞笑,竟然有人刷正则表达式来抗议自己的刷子行为被无视了,于是简单地过滤掉这个订书机。