これが私のジレンマです...
次のような文字列を分割できるようにしたい:
/ban @User "because I told you so"
ただし、文字列の区切り文字としてスペース、@、または引用符を使用する場合の問題は、ユーザー名にさまざまな特殊文字を含めることができることです。そして、おそらく、これらの特殊文字がコマンドの処理と競合する可能性があります。
例えば:
/ban @Person" "because why not"
うまくいかないだろう
/ban @Person"name" "reason"
文字列を分割するために使用できる文字のいずれかが、対象のユーザーの名前によって簡単にエミュレートされてコマンドを中断できる場合、このようなものを正確に処理するにはどうすればよいでしょうか? これはまったく可能ですか?正直に言うと、RegExp は私が理解したり調べたりするのが困難なため、これが単純な正規表現の修正である場合は、申し訳ありません :(
解決策のおかげで、私は今、作業中のプロセッサを持っています:
var yourRegex = /^@(.*?) "([^"]+)"$/;
私はすでに /ban を取り除くことができるので (/kick などの他のコマンドは、この 1 つのコマンドだけではないため)、正規表現からそれを切り取っただけです。ユーザーをターゲットにする必要がないため、@ 記号も外しました。作品 100% :D