实用正则表达式实例与应用

需积分: 15 2 下载量 116 浏览量 更新于2024-11-30 收藏 27KB DOC 举报
正则表达式是一种强大的文本处理工具,在软件开发、数据清洗、网页抓取等领域广泛应用。本文档列举了一些常用的正则表达式及其应用场景和评注,帮助读者理解和记忆。 1. 匹配中文字符:`[\u4e00-\u9fa5]` - 该正则表达式用于匹配任何Unicode编码的中文字符,解决中文文本处理中的编码问题。 2. 匹配双字节字符:`[^\x00-\xff]` - 适用于计算包含双字节字符(如汉字)的字符串长度,一个双字节字符占用两个字节。 3. 删除空白行:`\n\s*\r` - 通过匹配换行符和后续的空白字符(空格、制表符)来去除字符串中的空白行。 4. 匹配HTML标记:`<(\S*?)[^>]*>.*?</\1>|<.*?/>` - 一个较为复杂但功能有限的正则,用于识别HTML标签,对于嵌套结构的标记可能无法完全匹配。 5. 删除首尾空白字符:`^\s*|\s*$` - 这个正则用于清理字符串的首尾空白,对格式化文本或统一编码很有用。 6. 验证Email地址:`\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*` - 用于表单验证,确保输入的是符合格式要求的邮箱地址。 7. 匹配URL:`[a-zA-Z]+://[^\s]*` - 提供了一个基本的URL匹配模式,适合大部分简单情况下的URL检测。 8. 账号合法性验证:`^[a-zA-Z][a-zA-Z0-9_]{4,15}$` - 用于限制账号必须以字母开头,长度在5到16字节之间,且只允许字母、数字和下划线。 9. 国内电话号码:`\d{3}-\d{8}|\d{4}-\d{7}` - 匹配常见的固定电话格式,如0511-4405222或021-87888822。 10. 腾讯QQ号:`[1-9][0-9]{4,}` - 限定QQ号从10000开始,通常用于验证用户输入的QQ号码。 11. 中国邮政编码:`[1-9]\d{5}(?!\d)` - 匹配6位数字的中国邮政编码,排除可能存在的连续数字。 12. 身份证号码:`\d{15}|\d{18}` - 匹配15位或18位的中国大陆居民身份证号码。 13. IP地址:`\d+\.\d+\.\d+\.\d+` - 用于提取或验证IP地址,通常四段数字之间用点分隔。 14. 特定数字匹配: - `^[1-9]\d*$` - 匹配正整数 - `^-?[1-9]\d*$` - 匹配整数(包括负数) - `^[1-9]\d*|0$` - 匹配非负整数(正整数加0) - `^-?[1-9]\d*|0$` - 匹配所有整数(包括负数和零) 这些正则表达式提供了基础的文本操作模板,但需要注意,实际应用中可能需要根据具体场景进行调整或组合使用,以满足更复杂的需求。学习和掌握正则表达式对于处理文本数据至关重要,是编程和数据处理人员必备的技能之一。