2011-12-06 52 views
1

我工作的一個正則表達式模式,但它包含了一些特殊字符。我不確定如何將它們合併到正常的正則表達式模式字符串中。具體而言,我需要測試,看看是否一個字符串包含「+/-'...正則表達式模式與特殊字符

我用引號等嘗試,但沒有運氣(我非常新的正則表達式)。我在C#4.0中編寫了這個代碼。

一個字符串的例子是 「3Z1Z +/- 5.5」

任何幫助深表感謝 - 感謝!

回答

2

創建一個簡單的正則表達式:如果此字符序列在字符串中的任何地方發現

foundMatch = Regex.IsMatch(SubjectString, @"\+/-"); 

將返回true。解釋留給你做練習。

閱讀全文here

1

這些是special character列表的一部分(see also)。基本上,通過在它們前面添加反斜槓(\)將它們添加到模式中。例如+成爲\+

^\+|\-$  # + or - 

同樣會去別的有特殊的含義,如.{}()^$|[]

有雖然有一些例外。例如,創建一個類如當:[a-z]連字符(-)將具有特殊含義(從A到Z的所有字母)。所以如果你想要一個文字連字符,你必須逃避它(除非它是班級的最後一個字符)。例如

[a-z-A-Z]  # hyphen should be escaped if you wanted a literal hyphen 
[a-z\-A-Z]  # the "correct" counter-part 

[a-zA-Z-]  # actually legal because it's inserted as the last character 
       # and therefor treated as a literal hyphen despite not being 
       # escaped.