Java正则表达式完全指南

需积分: 0 0 下载量 9 浏览量 更新于2024-09-14 1 收藏 37KB DOC 举报
"JAVA正则表达式语法" Java正则表达式是用于处理字符串的强大工具,它允许程序员根据特定模式匹配、查找、替换或提取文本。以下是一些基本的Java正则表达式语法和示例,这些示例涵盖了各种常见的情况: 1. **整数或小数**:`^[0-9]+\.{0,1}[0-9]{0,2}$` 这个正则表达式用于匹配整数或最多包含两位小数的浮点数。例如,123, 123.4, 12.34都是有效的,但123.456不是。 2. **只允许输入数字**:`^[0-9]*$` 这个表达式会匹配任何仅由数字组成的字符串,如123, 4567等。 3. **指定位数的数字**: - `^\d{n}$` 匹配恰好n位的数字,例如`^\d{3}$`将匹配123这样的三位数。 - `^\d{n,}$` 匹配至少n位的数字,例如`^\d{3,}$`将匹配123, 1234, 12345等。 - `^\d{m,n}$` 匹配m到n位的数字,例如`^\d{2,4}$`将匹配12, 345, 6789等。 4. **非零开头的数字**:`^(0|[1-9][0-9]*)$` 这个表达式用于确保数字不是零开头,例如123, 456等。 5. **有固定小数位的正实数**: - `^[0-9]+(.[0-9]{2})?$` 匹配带有两位小数的正实数,如123.45。 - `^[0-9]+(.[0-9]{1,3})?$` 匹配至少一位小数,最多三位小数的正实数,如123.4, 1234.567。 6. **非零的正整数和负整数**: - `^\+?[1-9][0-9]*$` 匹配非零的正整数,如123, +456。 - `^\-[1-9][0-9]*$` 匹配非零的负整数,如-123。 7. **长度固定的字符串**:`^.{n}$` 匹配长度为n的任意字符的字符串,如`^.{3}$`匹配abc, def等。 8. **特定字符集的字符串**: - `^[A-Za-z]+$` 只能输入由26个英文大小写字母组成的字符串。 - `^[A-Z]+$` 只能输入由26个大写英文字母组成的字符串。 - `^[a-z]+$` 只能输入由26个小写英文字母组成的字符串。 - `^[A-Za-z0-9]+$` 只能输入由数字和26个英文字母组成的字符串。 - `^\w+$` 只能输入由数字、26个英文字母或下划线组成的字符串,其中`\w`是代表字母、数字和下划线的元字符。 9. **特殊字符的验证**:`[^%&',;=?$\x22]+` 验证字符串中不包含特定的特殊字符,如^%&',;=?$"。 10. **汉字验证**:`^[\u4e00-\u9fa5]{0,}$` 这个正则表达式用于验证输入的字符串是否全由汉字组成。 11. **电子邮件地址验证**:`^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$` 这是一个标准的电子邮件地址验证表达式。 12. **网址验证**:`^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$` 用于验证一个标准的互联网URL。 13. **电话号码验证**:`^(\(\d{3,4}-)|\d{3,4}-)?\d{7,8}$` 匹配多种格式的电话号码,如123-4567890, (123)-4567890等。 14. **身份证号验证**:`^\d{15}|\d{18}$` 匹配15位或18位的身份证号码。 15. **12个月份验证**:`^(0?[1-9]|1[0-2])` 匹配1到12的月份数字,用于验证月份输入。 正则表达式是Java编程中的重要组成部分,它在数据验证、文本处理和搜索替换等方面有着广泛的应用。通过熟练掌握这些基本表达式和它们的组合,开发者可以更有效地处理字符串操作。在实际开发中,还可以根据具体需求定制更复杂的正则表达式。