2

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

此输入是 C# 的普通 UTF-16。

如果一切都失败了,我可以逐个字符地编写整个代码表,但我希望有一种更紧凑的方式。

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 回答