5

我可以使用什么正则表达式来确保输入匹配字符“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

3 回答 3

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

将匹配 a,x,A,X

于 2012-12-25T10:40:40.980 回答
3

a + x用理性语言,(a | x)或几乎每个正则表达式系统中的 [ax]。

于 2012-12-25T10:40:37.910 回答
2

不需要正则表达式,这里有逻辑错误,您需要在 while 循环中使用&&(AND) 逻辑运算符而不是(OR):||

while (option != 'a' && option != 'x')
于 2012-12-25T10:42:34.870 回答