2

ISO/IEC 8859-2文字セットの文字に一致するが、他の文字には一致しない単純な正規表現を作成する方法はありますか?

この入力は、C# の通常の UTF-16 です。

他のすべてが失敗した場合、コードテーブル全体を char ごとに書くこともできますが、もっとコンパクトな方法があることを願っています。

4

1 に答える 1

1

もっとコンパクトな方法があるかどうかはわかりませんが、文字セット内のすべての印刷可能な文字を単純にリストすると、正規表現は次のようになります。

var regex = new Regex("^[\u0020-~\u00A0¤§¨­°´¸ÁÂÄÇÉËÍÎÓÔÖ×ÚÜÝßáâäçéëíîóôö÷úüýĂ-ćČ-đĘ-ěĹ弾Ł-ńŇňŐőŔŕŘ-śŞ-ťŮ-űŹ-žˇ˘˙˛˝]*$");

または同等に

var regex = new Regex("^[\u0020-\u007E\u00A0\u00A4\u00A7\u00A8\u00AD\u00B0\u00B4\u00B8\u00C1\u00C2\u00C4\u00C7\u00C9\u00CB\u00CD\u00CE\u00D3\u00D4\u00D6\u00D7\u00DA\u00DC\u00DD\u00DF\u00E1\u00E2\u00E4\u00E7\u00E9\u00EB\u00ED\u00EE\u00F3\u00F4\u00F6\u00F7\u00FA\u00FC\u00FD\u0102-\u0107\u010C-\u0111\u0118-\u011B\u0139\u013A\u013D\u013E\u0141-\u0144\u0147\u0148\u0150\u0151\u0154\u0155\u0158-\u015B\u015E-\u0165\u016E-\u0171\u0179-\u017E\u02C7\u02D8\u02D9\u02DB\u02DD]*$");
于 2013-04-19T10:32:04.360 に答える