ISO / IEC 8859-2字符的正则表达式

时间:2013-04-19 09:58:56

标签: c# regex character-encoding

有没有办法编写一个与ISO/IEC 8859-2字符集中的字符匹配的简单正则表达式,但与其他任何字符都不匹配。

此输入是C#的正常UTF-16。

如果所有其他方法都失败了,我可以用char写出整个代码表char,但我希望有一种更紧凑的方式。

1 个答案:

答案 0 :(得分:1)

我不确定是否有更紧凑的方式,但如果您只是列出字符集中的所有可打印字符,则regexp将如下所示:

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]*$");