正则表达式^[A-Za-Z ][A-Za-z0-9 ]*
描述“首字母应为字母,剩余字母可为字母数字”。但是我如何才允许特殊字符呢?当我输入“C#”时,它会引发错误。
如何输入特殊字符,第一个字母应该是字母?
答案 0 :(得分:16)
到目前为止,很多答案都很不错,但你必须清楚地定义你想要的是什么。
如果您想要一个字母字符,后跟任意数量的非空格字符(请注意它还包含数字!),那么您应该使用它:
^[A-Za-z]\S*$
如果您只想包含字母数字字符和某些符号,请使用:
^[A-Za-z][A-Za-z0-9!@#$%^&*]*$
您的原始问题看起来也在尝试包含空格字符,因此您可能需要这样的内容:
^[A-Za-z ][A-Za-z0-9!@#$%^&* ]*$
这是我的最终答案!
我建议花一些时间来了解有关正则表达式的更多信息。它们是切片面包以来最棒的东西!
试试这个syntax reference页面(该网站一般非常好)。
答案 1 :(得分:3)
此表达式将强制第一个字母为字母,其余字符为字母数字或以下任何特殊字符:@,#,%,&,*
^[A-Za-z][A-Za-z0-9@#%&*]*$
答案 2 :(得分:2)
试试这个:
^ [A-Za-z]。*
答案 3 :(得分:1)
怎么样
^[A-Za-z]\S*
后跟0个或更多非空格字符的字母(将包含所有特殊符号)。
答案 4 :(得分:0)
首先必须是Alphabet,然后在目标字符串中不允许使用dot。 下面是代码。
string input = "A_aaA";
// B
// The regular expression we use to match
Regex r1 = new Regex("^[A-Za-z][^.]*$"); //[\t\0x0020] tab and spaces.
// C
// Match the input and write results
Match match = r1.Match(input);
if (match.Success)
{
Console.WriteLine("Valid: {0}", match.Value);
}
else
{
Console.WriteLine("Not Match");
}
Console.ReadLine();
答案 5 :(得分:0)
此表达式将检查第一个字母是否为字母,其余字符是字母数字还是以下任何特殊字符:@,#,%,&,
^[A-Za-z][A-Za-z0-9@#%&\*]*$
答案 6 :(得分:0)
这个表达式只是为了得到数字
If Regex.IsMatch(mystring, "^[A-Za-z ].*|\s") Then
MessageBox.Show("please fill the box", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning)
GoTo labelname
ElseIf (mystring = "") Then
MessageBox.Show("please fill the box", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning)
GoTo labelname
End If
答案 7 :(得分:-5)
^[A-Za-z](\W|\w)*
(\W|\w)
将确保每封后续字母都是字(\w
)或非字(\W
)
而不是(\W|\w)*
您还可以使用.*
,其中.
表示绝对像(\w|\W)