2011-12-01 70 views
4

我需要一個正則表達式,使它匹配以下任何東西ascii 127以上(即7F十六進制及以上)。以下工作適用於給定的範圍。範圍和以上的正則表達式模式127

string pattern = "[\x00-\x1F]"; 
+0

那麼,你有什麼嘗試?它有用嗎?如果不是,爲什麼不呢? – 2011-12-01 05:11:39

+0

[\ x00- \ x1F] | [\ x7F] * – user357086

回答

3

嘗試或運營商| (管道)

string pattern = "[\x00-\x1f]|[\x7f-\uffff]"; 

FF十六進制將是最大ASCII值。

下面是進一步參考備忘單: http://www.mikesdotnetting.com/Article/46/CSharp-Regular-Expressions-Cheat-Sheet

+1

我認爲空格應該在字符類中刪除?此外,這裏不需要括號......並且有0xff以上的Unicode字符... – 2011-12-01 05:10:51

+0

是的,所以看起來像範圍應該更加正確[\ x7f- \ xffff]? – user357086

+1

使用「\ uffff」。 「\ xffff」與「\ xff」+「ff」相同。 – 2011-12-01 05:21:50

0

或者:

  1. 接受在兩個範圍的字符(具有交替,[a-b]|[x-z]),或;
  2. 在字符組中使用多個範圍([a-bx-z])或;
  3. 否定倒範圍內的字符組([^c-w]
    • 的否定包括的事情一大堆c之前和w之後,所以它不是[一定]同前兩者,但可以被用作優勢。

a的適當的值,bcwx,和z被保留爲一個[瑣碎]讀者練習。

快樂編碼。