2012-12-25 232 views
0

可以使用什麼正則表達式來確保輸入匹配字符'a'或字符'x'。正則表達式以匹配兩個字符中的一個

我試過以下,但這並不像我希望的那樣工作。

char option; 

Console.WriteLine("Please make your option"); 
for (int i = 0; i < options.Length; i++) 
{ 
    Console.WriteLine(options[i]); 

} 
option = char.Parse(Console.ReadLine()); 
while (option != 'a' || option != 'x') 
{ 
    Console.WriteLine("'a' or 'x' please!!"); 
    option = char.Parse(Console.ReadLine()); 
} 

我想要的只是兩個字符之一被接受只...作爲輸入。

回答

4

無需正則表達式,你有邏輯錯誤在這裏,你需要在同時使用&&(AND)邏輯運算符代替||(OR)循環:

while (option != 'a' && option != 'x') 
+0

Habib,仔細看看這個邏輯陳述。如果選項變成'a'或'x',這將終止。或嘗試自己理解。 – SergeyS

+0

居然是的,你是對的。這應該解決問題,+1 – Habib

1

a + x合理語言,(a | x)或幾乎每個正則表達式系統中的[ax]。

2
Regex.IsMatch(input, "[ax]", RegexOptions.IgnoreCase); 

將匹配A,X,A,X

相關問題