C#正则表达式实战:验证与示例解析
下载需积分: 13 | TXT格式 | 13KB |
更新于2025-01-01
| 142 浏览量 | 举报
"正则表达式以及相关的用法举例说明"
正则表达式(Regular Expression)是一种模式匹配工具,用于处理字符串操作,如查找、替换、验证等。它通过使用预定义的字符模式来匹配字符串,是编程语言中非常强大的文本处理工具。在本示例中,我们将探讨C#中如何使用正则表达式,并给出一些常见的正则表达式模式。
在C#中,我们可以使用`System.Text.RegularExpressions`命名空间中的`Regex`类来进行正则表达式操作。下面是一个简单的例子,展示了如何验证输入的字符串是否只包含数字:
```csharp
using System.Text.RegularExpressions;
// 定义正则表达式,匹配连续的数字
string s_reg = @"^\d+$";
// 获取用户输入的字符串
string strings = textBox1.Text;
// 创建Regex对象并进行匹配验证
Regex reg = new Regex(s_reg);
// 匹配结果为bool值,true表示匹配成功,false表示失败
if (reg.IsMatch(strings))
{
MessageBox.Show("It's OK~"); // 如果匹配成功,显示"It's OK~"
}
else
{
MessageBox.Show("It's Bad~"); // 如果匹配失败,显示"It's Bad~"
}
```
以上代码中,`ValidationExpression`和`ControlToValidate`是ASP.NET中用于表单验证的属性,但在这里我们仅使用了`Regex`类来验证字符串。
以下是一些常见的正则表达式模式及其用途:
1. HTML标签匹配:`<(.*)>.*<\/\1>|<(.*)\/>`,用于匹配HTML标签。
2. 非负整数:`^[0-9]*[1-9][0-9]*$`,确保输入的是非负整数。
3. 负整数:`^-[0-9]*[1-9][0-9]*$`,匹配负整数。
4. 整数:`^-?\d+$`,匹配整数,包括正负整数和零。
5. 浮点数:`^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$`,匹配浮点数。
6. 负浮点数:`^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$`,匹配负浮点数。
7. 浮点数或整数:`^(-?\d+)(\.\d+)?$`,匹配浮点数或整数。
8. 26个英文字符组成的字符串:`^[A-Za-z]+$`,仅允许26个英文字符。
9. 26个大写英文字符组成的字符串:`^[A-Z]+$`,仅允许26个大写英文字符。
10. 26个小写英文字符组成的字符串:`^[a-z]+$`,仅允许26个小写英文字符。
11. 26个英文字符和数字组成的字符串:`^[A-Za-z0-9]+$`,允许26个英文字符和数字。
12. 26个英文字符和数字及下划线组成的字符串:`^\w+$`,允许26个英文字符、数字和下划线。
13. 邮箱地址:`\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*`,匹配标准的邮箱地址。
14. URL:`^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$`,匹配URL地址。
15. 中国大陆电话号码:`((\d{3,4})|(\d{3,4}-))?(\d{7,8})(-\d{3})*`,匹配中国大陆的各种格式电话号码。
16. 密码规则:`^[a-zA-Z][a-zA-Z0-9_]{6,20}$`,匹配由字母开头,后跟6到20个字母、数字或下划线的密码。
17. 更复杂的密码规则:`^[a-zA-Z0-9@#$%^&+=]{8,20}$`,匹配包含特定特殊字符的8到20位密码。
这些只是正则表达式应用的一部分,实际上,正则表达式可以实现更复杂的文本处理任务,例如提取特定格式的数据、搜索和替换文本等。学习和掌握正则表达式对于任何编程工作都是极其有价值的。
相关推荐
架构师
- 粉丝: 99
- 资源: 9
最新资源
- starting-struts2-chinese(深入浅出Struts 2).pdf(中文的!全面介绍了)
- 搞懂XML,看清SOAP.pdf
- 计算机网络——自顶向下方法与Internet特色(英文答案)
- 一本完整的C#完全手册
- DSP学习资料\DSP入门教程.pdf
- MINIGUI编程指南.pdf
- 最权威的java 技术面试
- webwork学习资料
- JAVA实用教程电子教程
- eclipse插件开发指南
- 高质量C++编程指南
- MQ FOR AIX 安装配置维护手册
- AIX平台下Message+Broker安装指南
- 拯救蓝色巨人电子书(IBM)
- 网络就绪:电子商务时代的成功战略电子书
- ARM经典300问 经典资料 不得不看