正则表达式完全指南

5星 · 超过95%的资源 需积分: 3 2 下载量 148 浏览量 更新于2024-09-13 收藏 78KB DOC 举报
"正则表达式大全包含了匹配中文字符、双字节字符、空白行、HTML标记、首尾空白字符、Email地址、网址URL、帐号合法性、国内电话号码、腾讯QQ号、中国邮政编码、身份证号以及IP地址的正则表达式。" 正则表达式是一种强大的文本处理工具,广泛应用于数据验证、搜索与替换等领域。以下是对给定正则表达式的详细解释: 1. 匹配中文字符:`[\u4e00-\u9fa5]` - 这个正则表达式用于匹配Unicode范围内的中文字符,包括简体和繁体。`\u4e00`和`\u9fa5`是Unicode编码中的起始和结束值,代表了汉字的基本区。 2. 匹配双字节字符:`[^x00-xff]` - 这个表达式用于匹配非ASCII字符,通常包括汉字、日文、韩文等双字节字符。`[^x00-xff]`表示不在ASCII范围(0x00到0xff)内的字符。 3. 匹配空白行:`\n[\s|]*\r` - 此正则表达式用于查找包含空格或制表符的行,通常用以删除空白行。`\n`代表新行,`[\s|]*`匹配任意数量的空格或制表符,`\r`代表回车。 4. 匹配a标签:这是一个复杂的正则表达式,用于解析HTML中`<a>`标签的`href`属性,获取链接路径和文字内容。它考虑了引号包围的href值,并排除了嵌套的`<a>`标签。 5. 匹配HTML标记:`<(S*?)[^>]*>.*?|<.*?/>` - 用于匹配HTML标签,但对复杂的嵌套标签可能无法处理完全。 6. 匹配首尾空白字符:`^s*|s*$` - 这个表达式可以删除字符串开头和结尾的任何空白字符,包括空格、制表符和换页符。 7. 匹配Email地址:`w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*` - 这个正则表达式用于验证Email地址的格式,包括用户名、@符号、域名和顶级域名。 8. 匹配网址URL:`[a-zA-z]+://[^s]*` - 用于匹配以字母开头,后跟协议(如http或https),然后是任意非空白字符的URL。 9. 匹配帐号合法性:`^[a-zA-Z][a-zA-Z0-9_]{4,15}$` - 验证账号,必须以字母开头,之后是字母、数字或下划线,长度在5-16个字符之间。 10. 匹配国内电话号码:`d{3}-d{8}|d{4}-d{7}` - 可以匹配中国地区的电话号码,如0511-4405222或021-87888822。 11. 匹配腾讯QQ号:`[1-9][0-9]{4,}` - 用于识别腾讯QQ号码,至少5位且以1-9开头。 12. 匹配中国邮政编码:`[1-9]d{5}(?!d)` - 验证6位数字的中国邮政编码,首位不能为0。 13. 匹配身份证:`d{15}|d{18}` - 分别对应15位和18位的中国居民身份证号码。 14. 匹配IP地址:`d+.d+.d+.d+` - 简单匹配IPv4地址,每段数字之间由点分隔。 15. 匹配特定数字的正则表达式: - `^[1-9]d*$` - 匹配正整数。 - `^-[1-9]d*$` - 匹配负整数。 - `^-?[1-9]d*$` - 匹配整数。 - `^[1-9]d*|0$` - 匹配非负整数。 - `^-[1-9]d*|0$` - 匹配非正整数。 掌握这些正则表达式,可以在处理文本数据时大大提升效率,进行有效过滤、查找、替换等操作。