Regex-visualstudio一个特定字符
我正在尝试验证Visual Studio中的文本框是否为字符M或F。我还以类似的方式使用正则表达式集进行了一些其他验证,这些验证都正常工作。然而,有了这个,它仍然允许我使用文本框中的任何字母。这个代码有什么问题Regex-visualstudio一个特定字符,regex,visual-studio,validation,asp.net-mvc-3,Regex,Visual Studio,Validation,Asp.net Mvc 3,我正在尝试验证Visual Studio中的文本框是否为字符M或F。我还以类似的方式使用正则表达式集进行了一些其他验证,这些验证都正常工作。然而,有了这个,它仍然允许我使用文本框中的任何字母。这个代码有什么问题 public static bool IsGender(string gender) { bool validGender = true; string _genderRegEx = @"^\:|m|M|f|F|$"; if ((!Regex.Match(gend
public static bool IsGender(string gender)
{
bool validGender = true;
string _genderRegEx = @"^\:|m|M|f|F|$";
if ((!Regex.Match(gender, _genderRegEx).Success))
{
MessageBox.Show("Gender must be either M or F.");
validGender = false;
}
return validGender;
}
你的正则表达式不正确。你有:
@"^\:|m|M|f|F|$"
|
符号表示布尔或
。因为您没有任何括号来对正则表达式的各个部分进行分组,^
只与\:
一起使用,$
本身就是。因此,您的正则表达式匹配以下任意一项:
- 字符串的开头(
)加上^
:
或m
m
或f
f
- 字符串的结尾(
)。$
@"^[mMfF]$"
这与字符串的开头(
^
)相匹配,后跟m
、m
、f
或f
中的一个,后跟字符串的结尾($
)。您的正则表达式不正确。你有:
@"^\:|m|M|f|F|$"
|
符号表示布尔或
。因为您没有任何括号来对正则表达式的各个部分进行分组,^
只与\:
一起使用,$
本身就是。因此,您的正则表达式匹配以下任意一项:
- 字符串的开头(
)加上^
:
或m
m
或f
f
- 字符串的结尾(
)。$
@"^[mMfF]$"
这与字符串的开头(
^
)相匹配,紧跟着是m
、m
、f
或f
中的一个,然后是字符串的结尾($
)。非常感谢。将在时间到期时标记为正确。完美。非常感谢。将在时间到期时标记为正确。