什么是正则?
正则的全称为正则表达式,用于表达一个字符串匹配规则。正则表达式可以以一串字符的形式,帮助人们规定字符串需要匹配的格式,因此被广泛应用于程序服务设计。例如大部分网站检查邮箱和手机号都是使用正则表达式来实现的,而不需要编写专门的额外代码。
正则和屏蔽词有什么区别?它们工作的原理是什么?
屏蔽词会屏蔽所有带有指定字符串的弹幕。这也是大部分人使用的屏蔽弹幕方法,但缺点是可自定义性低;
正则会根据指定的正则表达式来筛选弹幕。如果有弹幕匹配了正则,那么这条弹幕就会被屏蔽。它的好处就是灵活、简便、高效。
简单的正则语法教程
如果你的正则表达式没有任何特殊字符,那么它就会表现得与屏蔽词的作用一样。但是我们可以通过下面这些特殊字符来进行更加智能的筛选:
星号(*):你可以在星号前面加上任意一个字符,用来匹配连续出现一次或多次的这个字符。
例如,/6*/会屏蔽6,66,666666等弹幕;/2333*/会屏蔽233,23333,23333333等。
加号(+):它的作用和星号类似。两者的区别在于,加号匹配的字符必须要至少出现一次,而星号匹配的字符可以不用出现。
例如,/MineCom+ander/会匹配MineCommander,MineComander等,但不会匹配MineCoander,因为它在指定的位置不含有m。相对的,/MineCom*ander/则会匹配MineCoander。
问号(?):由它匹配的字符最多只能出现1次,或是不出现。
例如,/MineCommander?/会匹配MineCommander和MineCommande。
方括号([]):将一串字符用方括号括起来并搭配上面的匹配符使用,可以让它们一次性支持多个字符。
例如,/1[23]?456/会匹配12456和13456,但不会匹配123456。
同时,在方括号内还可以支持自动筛选一些特定字符:
[0-9]:阿拉伯数字。
[a-z]:小写字母。
[A-Z]:大写字母。
这些特定筛选可以叠加使用,例如[a-zA-Z]会筛选所有英文字母。
圆括号():作用类似于方括号,但两者有所区别:一是圆括号不支持上面的特定筛选,二是方括号会挨个筛选其中的每一个字符,并且只留出单个字符的位置;圆括号则是将其中的字符串视作一个整体。这也是为什么/12[34]?56/不能匹配123456,因为字符3占去了[34]?的位置,而剩下的456无法匹配表达式后面的56。相对的,/12(34)?56/则可以匹配123456。
竖线(|):用于在圆括号内一次性支持多条字符串。例如,/12(34|43)?56/会匹配1256,123456和124356。
花括号({}):用在一个字符/中括号/圆括号的后面,用于指定此表达可以出现的数量。
例如,/6{2,4}/会屏蔽66,666,6666,而不会屏蔽6;/6{,4}/会屏蔽所有出现次数低于或等于4次的6;/6{3,}/会屏蔽所有出现次数大于或等于3次的6;/6{4}/会屏蔽6666。
插字符(^):放在正则最前面,用于锁死表达式只会从弹幕的最前端开始匹配。
例如,/6{4}/会屏蔽6666,6666abcd,23336666等;但/^6{4}/只会屏蔽6666,6666abcd,6666666666等。
美元符($):放在正则最后面,用于锁死表达式必须匹配到弹幕的最后端。可以和插字符一起使用,使得正则必须匹配弹幕中的所有内容而不能剩余。
例如,/6{4}$/会匹配23336666,abcd6666,而不会匹配233366;/^6{4}$/只能屏蔽6666这一条弹幕,而不能屏蔽666666666,66662333等。
感觉摸不着头脑?
您可以前往菜鸟教程网站系统学习正则表达式:https://www.runoob.com/regexp/regexp-tutorial.html
还是不想学?
现成的都给你备好了!
屏蔽前示例(使用视频:BV1qM4y1N7n9)
1.屏蔽发布时间
/^[0-9一二两三四五六七八九十百千万亿]+个?(分钟|小时|分|min){1}/
效果预览
2.免误伤屏蔽“刚刚”“热乎”“好耶”
/^(刚刚|热乎|好耶)(!|!)*$/
效果预览
3.屏蔽“1播放xx赞”“1播放xx弹幕”等
/(1|一)播放[0-9]+[^\n\r]{1,2}/,/播放(1|一)[^\n\r]{1,2}[0-9]+/
效果预览
4.屏蔽所有单个字符重复3遍以上的弹幕(不会屏蔽666,ohhhh等特殊氛围弹幕)
/^[^\n\r6]{3,}$/
「街角魔族 2丁目」吉田优子手办开订 立体手办▪
「火影忍者 疾风传」旗木卡卡西·暗部版粘土人登场 立体手办▪
「佐佐木与宫野」宫野由美粘土人开订 立体手办▪
「盾之勇者成名录」第2季拉芙塔莉雅手办开订 立体手办▪
「咒术回战」两面宿傩Q版坐姿手办开订 立体手办▪
「DATE·A·BULLET」时崎狂三手办开订 立体手办▪
「狂赌之渊××」早乙女芽亚里粘土人开订 立体手办▪
「魔道祖师」魏无羨粘土人开订 立体手办▪
「新·奥特曼」奥特曼手办现已开订 立体手办▪
「间谍过家家」阿尼亚一番赏手办先行图公开 立体手办▪
「火影忍者 疾风传」漩涡鸣人粘土人开订 立体手办▪
「阴阳师」神堕八岐大蛇手办公开预售情报 立体手办▪
「罪恶装备 奋战」梅伊手办开订 立体手办▪
「我家猫女孩很可爱」黄豆粉手办开订 立体手办▪
「星之卡比」卡比30周年纪念粘土人开订 立体手办▪
「来自深渊 烈日的黄金乡」普鲁修卡粘土人开订 立体手办▪
「初音未来」生日会2021~兔子娘~手办公开 立体手办▪
eStream「咒术回战」两面宿傩手办开订 立体手办▪
「咒术回战」五条悟 虚式「茈」手办正式开订 立体手办▪
「排球少年!!」田中龙之介粘土人开订 立体手办▪
「剑风传奇」格斯手办开订 立体手办▪