[使用经验] 弹幕关键词屏蔽:正则表达式入门和常用写法 #5
June6699
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
讨论类型
使用交流
讨论内容
弹幕关键词屏蔽支持两种写法:
抽奖会匹配包含“抽奖”的弹幕。/.../:按正则表达式匹配,比如/\d+/会匹配包含数字的弹幕。如果不熟悉正则,建议先从“普通关键词”开始;只有在一个关键词写不完、需要描述一类内容时,再使用正则。
常用符号怎么理解
\d:一个数字,等价于 0 到 9 中的任意一个。.:任意一个字符。*:前面的内容出现 0 次或多次。+:前面的内容出现 1 次或多次。[]:匹配括号里的任意一个字符。():把几个规则合成一组。|:或者。^:从弹幕开头开始匹配。$:匹配到弹幕结尾。可以直接参考的例子
1. 屏蔽所有只发一串数字的弹幕
可以匹配:
不会匹配:
这里的含义是:从开头
^到结尾$,中间只能是一个或多个数字\d+。2. 屏蔽句子里包含“德”“华”任意一个字的弹幕
可以匹配:
注意:
[德华]表示“德、华这2个字里任意一个”,不是必须连续出现“德华”。如果只想屏蔽完整的“德华”三个字,可以写:3. 屏蔽包含连续 5 位以上数字的弹幕
比如大量的投票弹幕(扣1扣2)
适合过滤一长串房间号、联系方式、编号类刷屏。它会匹配
12345、888888,但不会匹配666。4. 屏蔽常见引流词
()配合|表示多个词命中任意一个就屏蔽。5. 屏蔽只由“哈”或 “h” 组成的刷屏
可以匹配:
不会匹配:
使用建议
^和$时要小心,它们会要求整条弹幕符合规则。.*表示前后可以有任意内容,适合“只要句子里包含某类内容就屏蔽”的场景。[]是“任意一个字”,比如[abc]是 a、b、c 任意一个;如果要匹配完整词,不要放进[]。参考来源
正则基础符号和写法参考:廖雪峰《JavaScript教程 - RegExp》
https://liaoxuefeng.com/books/javascript/standard-object/regexp/index.html
Beta Was this translation helpful? Give feedback.
All reactions