正则表达式匹配两个字符之一

时间:2012-12-25 10:38:26

标签: c# console

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

我想要的是仅接受两个字符中的一个作为输入。

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:2)

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

将匹配a,x,A,X

答案 2 :(得分:1)

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