Notepad++ 我如何使用所有变体来引用一个单词,而不管单词中字母的大小?

Notepad++ 我如何使用所有变体来引用一个单词,而不管单词中字母的大小?,notepad++,uppercase,lowercase,Notepad++,Uppercase,Lowercase,好的,我正在制作一个Discord机器人,我正在尝试为服务器中不允许说的单词设置参数(你知道它们的种类、脏话等等)。因此,我使用了一个污点(我将仅使用单词“dog”作为示例),但它只是小写。所以,基本上,它只是“狗”,如果有人在聊天中说“狗”,那么他们的消息将被删除,机器人通过DMs向他们发送消息。但是,如果有人说“狗”,那么他们的信息就不会被删除。我应该向代码中添加什么来确保所有的污点变体都被提取出来 我对任何形式的编码都是非常陌生的,我的朋友们帮我制作了这个机器人,所以我真的不知道我在做什么

好的,我正在制作一个Discord机器人,我正在尝试为服务器中不允许说的单词设置参数(你知道它们的种类、脏话等等)。因此,我使用了一个污点(我将仅使用单词“dog”作为示例),但它只是小写。所以,基本上,它只是“狗”,如果有人在聊天中说“狗”,那么他们的消息将被删除,机器人通过DMs向他们发送消息。但是,如果有人说“狗”,那么他们的信息就不会被删除。我应该向代码中添加什么来确保所有的污点变体都被提取出来

我对任何形式的编码都是非常陌生的,我的朋友们帮我制作了这个机器人,所以我真的不知道我在做什么

(如果你想看代码,就在这里。我用单词替换了所有的污点,但我想你明白要点了):


我希望识别“狗”、“狗”、“狗”、“狗”、“狗”、“狗”、“狗”、“狗”等词,而不仅仅是“狗”。这实际上是一个非常复杂的问题。
最简单的方法是在JavaScript中使用.toLower()或.toLowerCase()之类的东西,在小写字母上创建一个禁用单词数组,并在完全按小写字母操作后将其与字符串进行比较。
但这并不能阻止用户尝试使用类似的字符甚至ASCII字符来替代您的列表,比如dög、d0g甚至døg。 解决这个问题实际上是问题的复杂部分。
一种选择是使用正则表达式通配符,如。接线员

\d.g\
Will match dog, dög....
但这将是非常不切实际和耗时的,更不用说计算成本,如果你的禁止名单很长。
有几种方法可以实现这一点,最简单的方法,如上文所述,适用于您刚才所述的一些仅限好友的服务器,但在检测这些单词非常关键的情况下,使用本文所述的算法、正则表达式和机器学习,如果有效地相互结合,所有选项都是有效的和最佳的。

考虑.toLowerCase()或.toLower()。当在字符串上调用时,这将使所有字符都是小写的。正如您可能认为的,列出所有变体既繁琐又不切实际,因此您确实需要一些代码来统一它们。不幸的是,discord机器人是用多种语言编写的,使用多种框架,我们不知道您使用的是哪一种,这使得这个问题就像“如何正确喂养我的宠物”一样容易回答,而不告诉我们它是Python、鸡还是Julia。Notepad++与您的问题有什么关系?您实际使用的语言/工具是什么?对于提问的人来说,该语言是JSON。
\d.g\
Will match dog, dög....