千家信息网

C#中如何使用正规表达式

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要为大家展示了"C#中如何使用正规表达式",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"C#中如何使用正规表达式"这篇文章吧。一.校验输入正规表达
千家信息网最后更新 2026年11月03日C#中如何使用正规表达式

这篇文章主要为大家展示了"C#中如何使用正规表达式",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"C#中如何使用正规表达式"这篇文章吧。

一.校验输入

正规表达式的一种最常用的场所是用于使用一些预先定义的格式(例如,强制建立的规则用于确保口令中包含特定的使其很难被拆断的字符)校验用户输入。这些规则被典型地定义为正规表达式。正规表达式也常用于校验简单的输入,例如电子邮件地址和电话号码。

.NET框架提供的操作正规表达式的一个关键类是RegEx类。这个类提供一个静态的方法IsMatch,它返回一个布尔值指示是否指定的输入字符串匹配一个给定的正规表达式。

在下列代码中,使用一个普通正规表达式来测试电子邮件地址的有效性:

string emailPattern = @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|[ccc]  (([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";  Console.Write("Enter an e-mail address:");  string emailInput = Console.ReadLine();  bool match = Regex.IsMatch(emailInput, emailPattern);  if (match)  Console.WriteLine("E-mail address is valid.");  else  Console.WriteLine("Supplied input is not a valid e-mail address.");

如果你搞不清楚这个正规表达式,别担心。电子邮件模式的基本思想是,它需要一些数字字母字符,后面跟着一个@符号,然后是一些字符组合,再后面跟着一个".",再往后至少跟着两个字符。你可以以不同的输入试验前面的代码来看一下你得到什么结果。即使你不理解该正规表达式本身,只要知道它们的存在,那么你就可以把它使用于你的应用程序中来校验输入。

二.从输入中提取数据

C#正规表达式的其它常见的用法是,根据表达式分析文本以及使用之来从用户输入中提取数据(称作组匹配)。

正规表达式中包括一个特征叫组。一个组允许你把一个命名标识放到该正规表达式的一个特定节中。当你调用Match()来针对模式比较输入数据时,其结果实际上把匹配分成一些组,允许你提取匹配每一个组的输入的部分。

例如,在前面的例子中,我们创建了一个username,它允许我们提取在一个电子邮件地址中位于@符号前的所有数据。然后,当执行一个匹配时,我们能够使用正规表达式的命名组从输入中提取该username。

下列代码显示怎样从一个用户在控制台输入的URL中提取协议名字和端口号。正规表达式的伟大在于,它们使用自己的语言;因此,它们不必依赖于C、C++、C#、VB.NET或任何其它语言。在下列代码中的正规表达式来自于一个MSDN例子:

string urlPattern = @"^(?\w+)://[^/]+?(?:\d+)?/";  Console.WriteLine();  Console.Write("Enter a URL for data parsing: ");  string url = Console.ReadLine();  Regex urlExpression = new Regex(urlPattern, RegexOptions.Compiled);  Match urlMatch = urlExpression.Match(url);  Console.WriteLine("The Protocol you entered was " + urlMatch.Groups["proto"].Value);  Console.WriteLine("The Port Number you entered was " + urlMatch.Groups["port"].Value);

当你使用不带有一个端口号的URL运行前面的代码时,你会注意到,你没有得到任何组值。这是因为,该输入根本不匹配C#正规表达式。当不存在匹配时,你显然无法从给定的组中提取有意义的数据。当你使用匹配该正规表达式的端口号的URL运行前面的代码时,你将得到如下列文本所示的输出结果:

Entera URL for data parsing: http://server.com:2100/home.aspx  The Protocol you entered was http  The Port Number you entered was :2100

以上是"C#中如何使用正规表达式"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

表达式 正规 输入 C# 代码 字符 数据 电子 电子邮件 邮件 内容 口号 地址 用户 篇文章 结果 跟着 例子 文本 模式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州为想互联网科技有限公司 为想互联网科技怎么样 互联网金融监管科技数据 鸠鸠互联网科技 互联网中国科技 齐家互联网科技 世界互联网领先科技成果 互联网金融 科技创新 齐家互联网科技有限公司 深圳期待互联网科技 互联网科技股有哪些 互联网实体化科技化 阿里巴巴算科技企业还是互联网 团飞科技与伯堂互联网服务平台 福建科技产业互联网发展 武汉健翔互联网络科技有限公司 消费医药和互联网科技 健康食品互联网创新科技园项目 互联网科技创新的路径 广东鹅鹅鹅互联网科技有限公司 中智农互联网科技 科技互联网技术 互联网科技革命 互联网 科技馆 互联网大会黑科技排名 千方科技属于互联网企业吗 互联网科技公司有风险吗 速维有品互联网信息科技(苏州)有限公司 富国互联网金融科技混合基金 互联网领先科技成果宣传视频
0