2013-05-17 27 views
3

我有以下代碼匹配特定的字符串,它是一個子一個又一個字符串

// the values for the input and the pattern 
// are combinations of R, NR and HR 
var input = "NR|HR"; 
var pattern = "R"; 

var isMatch = Regex.IsMatch(input, pattern, RegexOptions.IgnoreCase); 

這個返回true因爲NR and HR包含R

有一些方法我可以做一個精確匹配R與正則表達式?

+2

你真的需要正則表達式?你爲什麼不簡單地做'var containsR = input.Split('|')。Contains('R')'? –

回答

4

您可以使用單詞邊界:

var pattern = "\bR\b"; 
+0

就是這樣!謝謝:) – Drew

+0

不客氣,很高興它解決了。儘管如此, – anubhava

0

開始串的^和字符串的結束$

VAR模式= 「^ R $」;

+0

不處理'R | HR' – iruvar

0

嘗試以下操作:

'(^R\|)|(\|R$)|(\|R\|)|(^R$)' 

它選擇我們的研發 從以下

R|NR 
NR|R 
R 

但不是以下

HR|NR 
HR 
相關問題