Java正则表达式匹配实例解析

4星 · 超过85%的资源 需积分: 9 14 下载量 189 浏览量 更新于2024-10-21 收藏 37KB DOC 举报
"该文档提供了Java中常用的正则表达式实例,涵盖了匹配中文字符、双字节字符、空白行、HTML标记、首尾空白字符、Email地址、网址URL、合法帐号、国内电话号码、腾讯QQ号、中国邮政编码、身份证以及IP地址等。此外,还包括了各种特定数字的匹配规则。" 在Java编程中,正则表达式是一种强大的文本处理工具,用于模式匹配和字符串查找。以下是对这些正则表达式的详细解释: 1. 匹配中文字符:`[\u4e00-\u9fa5]` - 这个正则表达式用于匹配Unicode范围内的中文字符,包括简体和繁体。 2. 匹配双字节字符:`[^\x00-\xff]` - 这个表达式用于匹配任何非ASCII字符,包括汉字在内的双字节字符。在计算字符串长度时,可以使用它来区分单字节和双字节字符。 3. 匹配空白行:`\n\s*\r` - 此正则表达式用于查找并可能删除包含换行符和任意数量空格的空白行。 4. 匹配HTML标记:`<(\S*?)[^>]*>.*?</\1>|<.*?/>` - 虽然不完美,但这个正则表达式可以匹配简单的HTML标签。对于复杂的嵌套HTML标记,可能需要更复杂的解析器。 5. 匹配首尾空白字符:`^\s*|\s*$` - 用于去除字符串开头或结尾的空白字符,包括空格、制表符等。 6. 匹配Email地址:`\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*` - 这个正则表达式可以用于验证输入的Email格式是否正确。 7. 匹配网址URL:`[a-zA-z]+://[^\s]*` - 它可以识别以http、https等协议开头的网址。 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,}` - 用于识别5位或更多位的腾讯QQ号码,从10000开始。 11. 匹配中国邮政编码:`[1-9]\d{5}(?!\d)` - 用于匹配6位数字的中国邮政编码。 12. 匹配身份证:`\d{15}|\d{18}` - 用于识别15位或18位的中国大陆身份证号码。 13. 匹配IP地址:`\d+\.\d+\.\d+\.\d+` - 用于提取或验证IPv4地址。 14. 匹配特定数字: - `^[1-9]\d*$` - 匹配正整数 - `^-[1-9]\d*$` - 匹配负整数 - `^-?[1-9]\d*$` - 匹配整数 - `^[1-9]\d*|0$` - 匹配非负整数(正整数+0) - `^-[1-9]\d*|0$` - 匹配非正整数(负整数+0) - `^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$` - 匹配正浮点数 - `^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$` - 匹配负浮点数 - `^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$` - 匹配浮点数(包括正负和0) 这些正则表达式在处理和验证字符串数据时非常有用,特别是在进行数据清洗、格式校验或者从大量文本中提取特定信息时。掌握这些正则表达式,可以极大地提高开发效率和代码质量。