^ [A-Za-Z] [A-Za-z0-9] *正则表达式?

时间:2009-10-31 04:38:52

标签: c# regex

正则表达式^[A-Za-Z ][A-Za-z0-9 ]*描述“首字母应为字母,剩余字母可为字母数字”。但是我如何才允许特殊字符呢?当我输入“C#”时,它会引发错误。

如何输入特殊字符,第一个字母应该是字母?

8 个答案:

答案 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)