C# 正则表达式,应以字母数字开头,但不能以空格开头

Jiale Xue - MSFT 46,376 信誉分 Microsoft 供应商
2024-05-08T09:07:00.5166667+00:00

你好

我正在尝试只将字母数字作为第一个字符的正则表达式,但是当我使用 [A-za-z0-9] 时,它也以空格为有效,如何避免空格作为正则表达式 C# 中的第一个字符。

请帮忙。

以下是一些有效和无效的条件(忽略开始和结束“ )。

无效场景:

“!test” “@test ” “测试”

有效方案:

Test@3 测试!12a 7test#1 67899 测试

提前致谢:)

Note:此问题总结整理于: C# regex that should start with alpha numeric but not with space

.NET
.NET
基于 .NET 软件框架的 Microsoft 技术。
62 个问题
ASP.NET
ASP.NET
.NET Framework 中一套用于生成 Web 应用程序和 XML Web 服务的技术。
20 个问题
C#
C#
一种面向对象的类型安全的编程语言,它起源于 C 语言系列,包括对面向组件的编程的支持。
188 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Hui Liu-MSFT 48,571 信誉分 Microsoft 供应商
    2024-05-08T09:47:45.62+00:00

    正则表达式可以这样写:

    
    var pattern = "^[a-zA-Z0-9]\\S+$";  
    

    下面是我测试的演示,你可以参考它。

        class Program  
        {  
            static void Main(string[] args)  
            {  
                var pattern = "^[a-zA-Z0-9]\\S+$";  
                Console.WriteLine("Invalid scenarios:");  
                Console.WriteLine("!test:{0}", Regex.Match("!test", pattern).Success);  
                Console.WriteLine("@Test:{0}", Regex.Match("@Test", pattern).Success);  
                Console.WriteLine(" Test:{0}", Regex.Match(" Test", pattern).Success);  
                Console.WriteLine("\n\nValid scenarios:");  
                Console.WriteLine("Test@3:{0}", Regex.Match("Test@3", pattern).Success);  
                Console.WriteLine("test!12a:{0}", Regex.Match("test!12a", pattern).Success);  
                Console.WriteLine("7test#1:{0}", Regex.Match("7test#1", pattern).Success);  
                Console.WriteLine("67899:{0}", Regex.Match("67899", pattern).Success);  
                Console.WriteLine("Test:{0}", Regex.Match("Test", pattern).Success);  
                Console.ReadLine();  
            }  
        }  
    

    这是结果。 60593-result.png


    如果答案有帮助,请点击“接受答案”并点赞。 注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。 诚挚的问候,

    1 个人认为此答案很有帮助。
    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。