C#正则表达式实战指南
需积分: 10 47 浏览量
更新于2024-10-18
收藏 4KB TXT 举报
在C#编程中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和验证字符串模式。下面我们将详细探讨一些常见的C#正则表达式及其用途。
1. 数字验证:
- `"^\d+$"`:这个正则表达式用于验证输入是否只包含非负整数,即纯数字。
- `"^[0-9]*[1-9][0-9]*$"`:它检查输入是否至少有一个非零数字,允许前导零。
- `"^((-\d+)|(0+))$"`:这个表达式匹配负整数或仅由零组成的字符串。
- `"^-?[0-9]*[1-9][0-9]*$"`:允许正负整数,包括零。
- `"^\d+(\.\d+)?$"`:此正则表达式用于验证小数,允许整数部分,但小数部分是必需的。
- `"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"`:它确保小数部分至少有一个非零数字。
- `"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"`:允许正负小数,包括零。
- `"^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"`: 同上,但允许负号。
- `"^-?\d+)(\.\d+)?$"`:允许正负整数和小数,但小数部分可选。
2. 字符串验证:
- `"^[A-Za-z]+$"`:这个正则表达式用于验证字符串是否仅包含26个英文字母。
- `"^[A-Z]+$"`:检查字符串是否仅包含大写英文字母。
- `"^[a-z]+$"`:确保字符串仅包含小写英文字母。
- `"^[A-Za-z0-9]+$"`:验证字符串是否仅包含26个字母和数字。
- `"^\w+$"`:这个正则表达式匹配任何单词字符(等同于[a-zA-Z0-9_])。
3. 邮件地址验证:
- `"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"`:这是一个常见的邮件地址验证表达式,检查是否符合电子邮件的通用格式。
4. URL验证:
- `"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"`:这个正则表达式用于验证URL的基本结构。
5. 日期格式验证:
- `"/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/"`:此正则表达式验证简单的日期格式,如dd-MM-yyyy或yyyy-MM-dd。
- `"/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/"`:类似地,它验证另一种日期格式,如MM/dd/yyyy或MM-dd-yyyy。
6. 电话号码验证:
- `"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$"`:这个正则表达式用于验证IPv4地址,但可以稍作修改以适应电话号码格式。
- `""(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?"`:这个正则表达式适用于验证各种电话号码格式,包括区号。
这些正则表达式在C#中通常与`System.Text.RegularExpressions`命名空间中的类和方法一起使用,例如`Regex.IsMatch()`,`Regex.Replace()`等。它们对于数据验证、数据提取以及文本处理任务非常有用。在实际应用中,可能需要根据具体需求对这些表达式进行微调或扩展。
2021-05-29 上传
2019-01-22 上传
2021-01-20 上传
2008-12-02 上传
2010-03-22 上传
186 浏览量
2021-01-20 上传
2012-12-03 上传
linpeikun16
- 粉丝: 3
- 资源: 38
最新资源
- 磁性吸附笔筒设计创新,行业文档精选
- Java Swing实现的俄罗斯方块游戏代码分享
- 骨折生长的二维与三维模型比较分析
- 水彩花卉与羽毛无缝背景矢量素材
- 设计一种高效的袋料分离装置
- 探索4.20图包.zip的奥秘
- RabbitMQ 3.7.x延时消息交换插件安装与操作指南
- 解决NLTK下载停用词失败的问题
- 多系统平台的并行处理技术研究
- Jekyll项目实战:网页设计作业的入门练习
- discord.js v13按钮分页包实现教程与应用
- SpringBoot与Uniapp结合开发短视频APP实战教程
- Tensorflow学习笔记深度解析:人工智能实践指南
- 无服务器部署管理器:防止错误部署AWS帐户
- 医疗图标矢量素材合集:扁平风格16图标(PNG/EPS/PSD)
- 人工智能基础课程汇报PPT模板下载