シリアル化された文字列にいくつかのシグナル フラグがあり、ユーザーが特定の操作を要求したときに、文字列からフラグを削除する必要があります。以下の文字列のすべてのケースで機能する正規表現を見つけることができませんでした。
var flags = "out:ab,bc,bcc,cd";
これは私が得た最も近いものです(たとえば、bcフラグを削除しています)
flags.replace(/[:,]bc\b/, "");
結果はout:ab,bcc,cd
どちらがクールですが、abを削除するとoutbc,bcc,cd
どちらが間違っているかがわかります。結果は常に文字列をシリアル化したままにしておく必要があります。たとえば、out:flag1,flag2
サブパターンをキャプチャしようとしましたが、オールラウンドに機能するコンボを見つけることができませんでした。
- より詳しい情報:
フラグは 0/1 信号です。フラグが存在する場合は、それを削除する必要があります。
Out: は操作モードで、In: の反対です (これはフラグの 2 番目のグループです)。簡単に言うと、Out: は「すべて許可しますが、これらはブラックリストに登録します」であり、In: は「すべて拒否しますが、これらはホワイトリストに登録します」です。アプリはどちらのモードでも実行できます。ab、bc、cd ... はサンプルのアルファベット キーです。