这是我的困境...
我希望能够拆分如下所示的字符串:
/ban @User "because I told you so"
但是,使用空格、@ 或引号作为字符串分隔符的问题是用户名可能包含大量特殊字符。而且,很可能,这些特殊字符可能会与处理命令发生冲突。
例如:
/ban @Person" "because why not"
行不通,也不行
/ban @Person"name" "reason"
当我可以用来分割字符串的任何字符都可以很容易地被目标用户的名字模拟来破坏命令时,我如何才能准确地处理这样的事情?这甚至可能吗?老实说,RegExp 对我来说有点难以理解或看,所以如果这是一个简单的正则表达式修复,我深表歉意:(
非常感谢一个解决方案,我现在有一个工作处理器:
var yourRegex = /^@(.*?) "([^"]+)"$/;
由于我已经可以删除 /ban(其他命令,如 /kick 等,因为它不只是这个命令)我只是将它从正则表达式中删除。我也将 @ 符号移出,因为我不需要它来定位用户。100% 有效:D