2012-01-10 77 views
-2

我需要一个正则表达式来检查任何非标准ASCIi字符的字符串。非标准ASCII字符的正则表达式

+1

您能说清楚“非标准”是什么意思吗? (就此而言,“ASCII”是什么意思,通常“ASCII字符”的意思是从00到7F,但有一些变化。) – ruakh 2012-01-10 17:53:15

+1

没有“非标准”ASCII字符。 ASCII(代码点0x00-0x7F)非常标准化。在代码点0x80或更高处的任何内容都不是ASCII,根据定义 – 2012-01-10 18:07:23

+0

我认为解释问题的明智方式是:非(标准ASCII字符),不是(非标准)(ASCII字符)。虽然措辞可能会被某些人误解,但我认为这是一个很好的问题。它帮助了我。 – MattD 2014-01-02 18:45:13

回答

4

您可以在C#中的字符串指定字符的Unicode点:"[\u0080-\uFFFF]"应该找到它的任何字符“ASCII”代码是128+

0

把你认为的标准字符集,然后把否定^标志的组。这将符合非标准。例如,我考虑的标准是A-Z,所以我的非标准匹配模式将

[^ A-ZA-Z]

如果符合你有一个非标准。

1

这是否适合您的需求? [^ \ x20- \ x7E]

+0

我最喜欢这个,尽管我需要添加“\ t \ n \ r”来跳过一些标准的空格。 – mfras3r 2015-06-16 13:04:28

相关问题