C#正则表达式实战指南
需积分: 9 25 浏览量
更新于2024-09-19
收藏 26KB DOC 举报
"这篇资料主要介绍了C#编程中常用的正则表达式模式,包括匹配不同类型的数字、浮点数、字母组合、邮箱地址、URL、日期格式以及电话号码等。"
在C#中,正则表达式是一种强大的文本处理工具,用于在字符串中查找、替换或提取符合特定模式的文本。以下是一些常见的C#正则表达式及其用途:
1. 非负整数:`^\d+$`
这个正则表达式用于匹配任何非负整数,包括零。它会确保输入只包含0到9的数字,没有其他字符。
2. 正整数:`^[0-9]*[1-9][0-9]*$`
此正则表达式用于匹配正整数,不包括零。它会检查输入中至少有一个数字在1到9之间。
3. 非正整数:`^((-\d+)|(0+))$`
这个表达式可以匹配非正整数,即负整数和零。它使用括号来分组负数和零的情况。
4. 负整数:`^-?[0-9]*[1-9][0-9]*$`
此正则表达式用来匹配负整数,允许前导零,并且至少有一个正数位。
5. 整数:`^-?\d+$`
这个正则表达式匹配所有整数,包括正数、负数和零。
6. 非负浮点数:`^\d+(\.\d+)?$`
用于匹配非负浮点数,包括正浮点数和零。点号后面可以有任意数量的数字。
7. 正浮点数:`"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"`
这个正则表达式确保至少有一位小数并且至少有一个数字在1到9之间。
8. 非正浮点数:`"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"`
匹配非正浮点数,包括负浮点数和零。
9. 负浮点数:`"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"`
用于匹配负浮点数,确保至少有一位小数并且至少有一个数字在1到9之间。
10. 浮点数:`"^(-?\d+)(\.\d+)?$"`
这是一个通用的浮点数匹配模式,包括正、负和零的浮点数。
11. 由英文字母组成的字符串:
- `^[A-Za-z]+$` 大小写字母组成的字符串
- `^[A-Z]+$` 大写字母组成的字符串
- `^[a-z]+$` 小写字母组成的字符串
12. 由数字和英文字母组成的字符串:`^[A-Za-z0-9]+$`
这个表达式用于匹配包含数字和大小写字母的字符串。
13. 由数字、字母或下划线组成的字符串:`^\w+$`
匹配由字母、数字或下划线组成的字符串,通常用于识别变量名。
14. Email地址:`"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"`
这是一个常见的电子邮件地址验证正则表达式。
15. URL:`"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"`
用于匹配URL格式的字符串。
16. 年-月-日日期格式:
- `/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/`
- `/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/`
这两个表达式分别用于验证两种不同的日期格式:年-月-日和月/日/年。
17. Emil:`"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"`
这个正则表达式是另一种形式的电子邮件地址验证。
18. 电话号码:`"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?$"`
用于匹配不同格式的电话号码,支持区域代码、连字符等。
这些正则表达式提供了C#中处理字符串的强大工具,可帮助开发者进行数据验证、提取特定信息等任务。了解并熟练运用它们,将极大地提高代码的质量和效率。
321 浏览量
168 浏览量
2010-05-08 上传
2021-01-20 上传
2008-12-02 上传
2010-03-22 上传
186 浏览量
2021-01-20 上传
2012-12-03 上传
zghlx
- 粉丝: 0
- 资源: 6
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码