弹幕屏蔽常用正则表达式(直接复制可用)&正则入门教学

您所在的位置:网站首页 电脑b站怎么屏蔽弹幕 弹幕屏蔽常用正则表达式(直接复制可用)&正则入门教学

弹幕屏蔽常用正则表达式(直接复制可用)&正则入门教学

2024-07-01 14:49| 来源: 网络整理| 查看: 265

屏蔽任何有连续重复的字符!解决绝大部分刷屏弹幕(直接复制可用):

/(.+)\1/

屏蔽任何有连续重复的弹幕!

屏蔽刷频弹幕,无论是“爱する爱する爱する爱する爱する爱する爱する爱する”、“欧拉欧拉欧拉欧拉欧拉欧拉欧拉欧拉欧拉欧拉欧拉欧拉”、“哈哈哈哈红红火火恍恍惚惚”这种简单的刷屏重复,还是“这是我见过最帅的高级弹幕啊啊啊啊啊!”、“某某酱啊啊啊啊我爱你”……这种尖叫现场,还是高难度的“♪达☆咩~达☆咩~♫ ♪达☆咩☆油~达★咩★咯★咯★油~”,全部搞定!

最重要的是,大部分高级弹幕都在它的杀伤范围!从此告别巨量的低素质高级弹幕!

注意:误杀严重!不过,相对于它对垃圾弹幕的超神杀戮,想来大家都不介意这一点点的瑕疵吧?

相信大部分人有上面这个就够了,在这里说一下我的想法。作为一个普通观众,我要解决的是各种恶意刷屏。在B站已经有很多正则表达式屏蔽弹幕的专栏和视频了,但是并没有找到我想要的(一群废物),于是一怒之下自学正则,花了一晚上在百度文库以及各种IT社区和博客抄作业,得到了几个简单粗暴的公式。很抱歉以这种丑到爆的文本方式发布,但是我只是普通人,你不能指望我还能做教案。那么多观众绝对有学计算机的高材生但是他们都没说……

当然,我希望下面的几个你能有兴趣看看。

你可能会用的屏蔽表达式:

如果你觉得还不够狠,那就试试这个:

/(.+).*\1/

屏蔽任何有相同字符的弹幕!没错,只要有重复,不一定要连续,就可以屏蔽!宁可错杀一百,不可放过一个!

/\s/

屏蔽空格,带空格的不是外语就是故意逃避屏蔽的弹幕。

/^[^\u4e00-\u9fa5]+$/

屏蔽没有出现过汉字的弹幕,解决你的绝大部分烦恼。比如常见的颜文字、外语、鸟语、233、666、awsl等等,还有最恶心的这种:“█████████████████████████████████████████████████████”和“o▬▬◙▆▅▅▅▅▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▅▆▆▇▇◤”

误杀一大片,估计有人不想用,但是没关系,复制,粘贴,添加,关闭,同步,就可以把它记录在你的屏蔽表达式里,随时可以打开或者关闭。或者可以用下面这个:

/^[^\w\u4e00-\u9fa5]+$/

屏蔽没有出现过字母、数字或者汉字的弹幕。没有汉字,没有字母,没有数字,这个弹幕是什么东西可想而知。

/^[^0-9\u4e00-\u9fa5]+$/

屏蔽没有出现过数字或者汉字的弹幕。

/^[^\u4e00-\u9fa5a-zA-Z]+$/

屏蔽没有出现过字母或者汉字的弹幕。

接下来就是比较正常的了,适用范围小,应付不了越来越SAO的弹幕了,比如“?¿?¿”这种。

/[\u4e00-\u9fa5\uff08\uff09\u3008\u3009\u300a\u300b\u300c\u300d\u300e\u300f\ufe43\ufe44\u3014\u3015\u2026\u2014\uff5e\ufe4f\uffe5\u3001\u3010\u3011\uff0c\u3002\uff1f\uff01\uff1a\uff1b\u201c\u201d\u2018\u2019]{10,}/

屏蔽正常汉语句子,即含有10个及以上连续汉字(含标点符号)的弹幕。注:含标点符号()〈〉《》「」『』﹃﹄〔〕…—~﹏¥、【 】,。?!:;“ ” ‘ ’

可惜超过200不能同步,那就少一点:

/[\u4e00-\u9fa5\uff08\uff09\u3008\u3009\u300a\u300b\u3014\u3015\u2026\u2014\uff5e\ufe4f\uffe5\u3001\u3010\u3011\uff0c\u3002\uff1f\uff01\uff1a\uff1b\u201c\u201d\u2018\u2019]{10,}/

屏蔽正常汉语句子,即含有10个及以上连续汉字(含标点符号)的弹幕。注:含标点符号()〈〉《》〔〕…—~﹏¥、【 】,。?!:;“ ” ‘ ’

B站的正则只支持ASCII字符集,符号要一个个枚举,如果支持unicode字符集的话只需要一个\p{P}就可以表示所有中英文标点符号,本例就应该是/[\u4e00-\u9fa5\p{P}]{10,}/u了,心累。

/[a-zA-Z]\s|\s[a-z]/

这个是简化了的,可以屏蔽英语句子。实际上是屏蔽“含有与空格相邻的字母”的弹幕。

/(.)\1/

屏蔽单个字符连续出现2次及以上的弹幕,比如“666”、“hhh”、“1分钟前!!”、“哈哈哈哈哈哈哈哈哈”。和镇贴之宝/(.+)\1/一样有误杀概率,于是你可以用下面两个:

/([a-zA-Z\u4e00-\u9fa5])\1/

屏蔽单个汉字或者字母重复2次及以上的弹幕。众所周知,在任何语言里都几乎看不到连续3个重复字。注意,和上一个相比,它不能屏蔽“??”这种重复的符号了,这个你得用/\?{2,}/了。

第二个:

/(.)\1{2,}/

屏蔽单个字符重复3次及以上的弹幕。除非遇到“1999年”这种数字类型的几乎不会误杀。

如果你还在担心误杀,那就:

/([a-zA-Z\u4e00-\u9fa5])\1{2,}/

屏蔽单个汉字或者字母连续出现3次及以上的弹幕。

你可以在正则表达式在线测试https://c.runoob.com/front-end/854/验证你的正则表达式。

以下有可能用得上!如果你有兴趣也可以在末尾学习正则表达式的语法。

/([\u4e00-\u9fa5]+).+\1/

屏蔽含有相同汉字的弹幕。

/([\u4e00-\u9fa5]{2,}).*\1/

屏蔽有重复中文词语的弹幕。

/([\u4e00-\u9fa5]{2,}).+\1/

屏蔽有重复且不相邻中文词语的弹幕。

/[\u4e00-\u9fa5]{10,}/

屏蔽含有10个及以上连续汉字的弹幕。

/^[\u4e00-\u9fa5]{10,}/

屏蔽从左到右数超过10个都是汉字的弹幕。

/^[\u4e00-\u9fa5]{10,}$/

屏蔽10个及以上汉字的纯汉字弹幕。

/.{10,}/

屏蔽10个及以上字符的弹幕。

/[ぁ-んァ-ヶ]/

屏蔽含鸟语的弹幕,比如常见的“君指先跃动の光は,私の一生不変の信仰に,唯私の超电磁炮永生き!”

/^.$/

很简单,屏蔽单个字符。

/^.{1,3}$/

屏蔽一到三个字符的弹幕。

/^[a-zA-Z0-9]+$/

屏蔽字母+数字,比如“AV123456”、“www”、“2333333”

/^\w+$/

同上,屏蔽字母+数字+下划线

当然,还有很多比如报时间日期的、

正则表达式教学(仅屏蔽弹幕用,正式学习请移步)

在B站用正则表达式屏蔽,首先得以  /  开头和结尾。

1、这个位置的^表示出现在开头,这个位置的$表示出现在结尾。比如/^哈哈/指“哈哈……”,/哈哈$/指“……哈哈”,/^哈哈$/指“哈哈”。

2、括号(阿巴阿巴),和你小学学的括号一样,先算。

中括号[阿巴阿巴],也是个括号,只不过它只能代表一个字符。中括号里面不能有中括号。

看看它们的区别:/(233)/会屏蔽含有233的弹幕,而/[233]/会屏蔽所有带数字2或者3的弹幕。

当你想屏蔽括号时,请用/[\(\)]/屏蔽含有(或者)的弹幕,注意区分括号也有大小写。

3、字母和数字,直接写就完事了。在圆括号里视为一个整体,比如(233),在方括号里面视为其中任意一个,比如[0-9]表示任意一个数字,是一个。没有括号时,视为在圆括号里面。

4、

/啊*/零个或者多个“啊”。

/啊+/一个或者多个“啊”。

/啊?/零个或者1个“啊”。

/啊{2}/两个连续的“啊”。

/啊{2,4}/两个到四个连续的“啊”。

/啊{2,}/两个及以上个连续的“啊”。

除非前面的东西是上面说的两种括号,否则都只算前面一个字符,比如/OH+/可以屏蔽OOH、OH、OHHHHH!!!,而不是OHOH。屏蔽OHOH得用/[OH]+/来。

5、与或非

与是不用写的,除了方括号里的东西,其他都是默认与,也就是按顺序的一串。

或,|,只有方括号外才能用。

非,^,只要不在开头,都是表示否定后面的表达式,比如[^0-9]

5、表达式。

[0-9]数字0~9中的任意一个数字。

[a-z]字母a-z中的任意一个字母。

[A-Z]大写数字A-Z中的任意一个大写字母。

\d一个数字,等于[0-9]

\s一个空格

\w一个数字或者一个字母或者一个下划线,等于[0-9a-zA-Z_]

\D一个非数字,等于^[0-9]

\S一个非空格

\W一个不是数字或者一个字母或者一个下划线的字符,等于^[0-9a-zA-Z_]

[ぁ-んァ-ヶ]一个日语

[\u4e00-\u9fa5]一个汉字

6、进一步的逻辑(花里胡哨)

(阿巴阿巴)额,就是普通的括号,里面的规则是与规则,只有按次序符合括号内容才会被屏蔽。比如/(awsl)/会屏蔽所以含有awsl的弹幕,和你直接屏蔽awsl一样的效果。

(?:阿巴阿巴)额,对于我们来说没什么卵用,和普通的括号一样。下面的4个仅仅是找到而没有匹配关键词,只有前面有东西才能算一个完整的运算。

(?=阿巴阿巴)从这里往前找,比如/[a-zA-Z\u4e00-\u9fa5](?=啊啊|哈哈|!!|??)/就会屏蔽所有后面带“啊啊”、“哈哈”、“??”、“!!”的汉字和字母。

(?!阿巴阿巴)从不符合阿巴阿巴的地方往后找。

(?比(?!)多个



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3