.NET
基于 .NET 软件框架的 Microsoft 技术。
63 个问题
我正在尝试只将字母数字作为第一个字符的正则表达式,但是当我使用 [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
正则表达式可以这样写:
复制
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();
}
}
这是结果。
如果回复有帮助,请点击“接受答案”并点赞。
注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。