Java正则表达式语法详解

需积分: 9 1 下载量 140 浏览量 更新于2024-09-11 1 收藏 59KB DOC 举报
"Java正则表达式语法.doc" 在Java编程中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换等操作。它使用预定义的模式来检查字符串是否符合特定的规则。以下是一些常见的Java正则表达式示例及其详细解释: 1. 整数或小数:`^[0-9]+\.{0,1}[0-9]{0,2}$` 这个表达式用于验证一个字符串是否表示一个整数或最多带有两位小数的浮点数。`^` 表示字符串的开始,`[0-9]+` 匹配一个或多个数字,`\.` 匹配小数点,`{0,1}` 允许小数点出现0次或1次,`[0-9]{0,2}` 匹配0到2位的小数。 2. 只能输入数字:`"^[0-9]*$"` 这个表达式允许输入任何数量的数字,不包括其他字符。 3. n位的数字:`"^\d{n}$"` 这里 `\d{n}` 匹配精确的n位数字。例如,`\d{3}` 将匹配三位数字。 4. 至少n位的数字:`"^\d{n,}$"` 这个表达式会匹配至少n位的数字,可以有任意多的额外数字。 5. m~n位的数字:`"^\d{m,n}$"` 这将匹配m到n位的数字,例如 `^\d{3,5}$` 匹配3到5位的数字。 6. 零和非零开头的数字:`"^(0|[1-9][0-9]*)$"` 这个表达式允许输入0或者非0开头的任意多位数字。 7. 有两位小数的正实数:`"^[0-9]+(.[0-9]{2})?$"` 该正则表达式匹配至少一位整数,可选的小数点后跟两位数字。 8. 1~3位小数的正实数:`"^[0-9]+(.[0-9]{1,3})?$"` 这将匹配至少一位整数,小数点后跟着1到3位的数字。 9. 非零的正整数:`"^\+?[1-9][0-9]*$"` 此表达式用于验证非零的正整数,允许正号(+)作为前缀。 10. 非零的负整数:`"^\-[1-9][]0-9"*$` 这个正则表达式匹配非零的负整数,但格式看起来有误,可能应修正为 `^\-[1-9][0-9]*$`。 11. 长度为3的字符:`"^.{3}$"` 这个表达式匹配任何长度为3的字符串。 12. 由26个英文字母组成的字符串:`"^[A-Za-z]+$"` 这将匹配仅包含大小写字母的字符串。 13. 由26个大写英文字母组成的字符串:`"^[A-Z]+$"` 这个正则表达式只接受大写字母。 14. 由26个小写英文字母组成的字符串:`"^[a-z]+$"` 类似地,这只会匹配小写字母。 15. 由数字和26个英文字母组成的字符串:`"^[A-Za-z0-9]+$"` 这个表达式允许数字和字母的组合。 16. 由数字、26个英文字母或者下划线组成的字符串:`"^\w+$"` `\w` 是一个元字符,代表字母、数字或下划线。 17. 验证用户密码:`"^[a-zA-Z]\w{5,17}$"` 用户密码必须以字母开头,后跟5到17个字母、数字或下划线。 18. 验证是否含有特殊字符:`"[^%&',;=?$\x22]+"` 这个表达式会匹配包含某些特殊字符的字符串,如 ^%&',;=?$\"。 19. 只能输入汉字:`"^[\u4e00-\u9fa5]{0,}$"` 使用Unicode范围 `[\u4e00-\u9fa5]` 来匹配所有汉字。 20. 验证电子邮件地址:`"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"` 这个表达式遵循常见的电子邮件格式,包括用户名、@符号、域名和顶级域名。 21. 验证Internet URL:`"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"` 这个正则表达式用于验证标准的HTTP URL。 22. 验证电话号码:`"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"` 这个表达式可以匹配多种格式的电话号码,如XXX-XXXXXXXX、XXXX-XXXXXXXX、XXX-XXXXXXX、XXX-XXXXXXXX、XXXXXXX和XXXXXXXX。 23. 验证15位或18位身份证号:`"^\d{15}|\d{18}$"` 这将匹配15位或18位的数字,通常用于验证中国公民的身份证号码。 24. 验证一年的12个月:`"^(0?[1-9]|1[0-2])$"` 这个正则表达式用于验证1到12之间的月份。 以上是Java正则表达式的一些基本用法,它们在数据验证、输入控制以及文本处理等方面非常有用。了解并熟练掌握这些正则表达式能够帮助开发者编写更健壮、更安全的代码。在实际应用中,可能还需要根据具体需求进行微调和扩展。