キャリッジ リターン (0x0d)、ライン フィード (0x0a)、タブレータ (0x09) を除くすべての Unicode 制御文字に一致する正規表現を取得する必要があります。現在、私の正規表現は次のようになっています。
/\p{C}/u
ここで、これら 3 つの例外を定義する必要があります。
キャリッジ リターン (0x0d)、ライン フィード (0x0a)、タブレータ (0x09) を除くすべての Unicode 制御文字に一致する正規表現を取得する必要があります。現在、私の正規表現は次のようになっています。
/\p{C}/u
ここで、これら 3 つの例外を定義する必要があります。
ここでは、文字クラスと組み合わせて、否定的な先読みを使用できると思います。
/(?![\x{000d}\x{000a}\x{0009}])\p{C}/u
これは、否定先読みを使用して、文字が文字クラスで指定されたものの 1 つではないことを表明することです。次に、文字を再度トラバースして、任意の制御文字と一致させます。
単一の Unicode ポイントを指定するために perl 構文を使用しました。
ルックアラウンドに関する詳細な議論はこちら
(これはテストされていないことに注意してください。ただし、概念は正しいと思います。)