Java 正则表达式大全

需积分: 3 2 下载量 59 浏览量 更新于2024-09-12 收藏 43KB DOC 举报
Java中的正则表达式是处理字符串的强大工具,用于验证输入数据、提取信息或进行文本操作。以下是对给定正则表达式的详细解释: 1. `^\d+$` - 匹配非负整数(正整数加0)。`\d`代表数字字符(等同于[0-9]),`^`表示开始,`$`表示结束,`+`表示至少一次,所以该表达式只匹配由一个或多个数字组成的字符串。 2. `^[0-9]*[1-9][0-9]*$` - 匹配正整数。这个正则表达式首先允许前导零,然后确保至少有一个非零数字,接着可以跟任意数量的其他数字。 3. `^((-\d+)?(0+))$` - 匹配非正整数(负整数加0)。这里用`(-\d+)?`来匹配负数,用`(0+)?`来匹配零,两者都可以为空。 4. `^-[0-9]*[1-9][0-9]*$` - 匹配负整数。与正整数类似,但以负号开始。 5. `^-?\d+$` - 匹配整数。`-?`表示负号可有可无,`\d+`表示一个或多个数字。 6. `^\d+(\.\d+)?$` - 匹配非负浮点数(正浮点数加0)。`(\.\d+)?`用来匹配小数部分,可有可无。 7. `^(([0-9]+\.[0-9]*[1-9][0-9]*)?([0-9]*[1-9][0-9]*\.[0-9]+)?([0-9]*[1-9][0-9]*))$` - 匹配正浮点数。这是一个复杂的正则表达式,确保至少有一个非零数字在整数或小数部分。 8. `^((-\d+(\.\d+)?)?(0+(\.0+)?))$` - 匹配非正浮点数(负浮点数加0)。 9. `^(-(([0-9]+\.[0-9]*[1-9][0-9]*)?([0-9]*[1-9][0-9]*\.[0-9]+)?([0-9]*[1-9][0-9]*)))$` - 匹配负浮点数。 10. `^(-?\d+)(\.\d+)?$` - 匹配浮点数。这个表达式结合了前面的正负整数和浮点数规则。 11. `^[A-Za-z]+$` - 匹配由26个英文字母组成的字符串。 12. `^[A-Z]+$` - 匹配由26个英文字母的大写组成的字符串。 13. `^[a-z]+$` - 匹配由26个英文字母的小写组成的字符串。 14. `^[A-Za-z0-9]+$` - 匹配由数字和26个英文字母组成的字符串。 15. `^\w+$` - 匹配由数字、26个英文字母或下划线组成的字符串。`\w`是等同于[A-Za-z0-9_]的字符集。 16. `^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$` - 匹配电子邮件地址。这个正则表达式通常用于验证电子邮件格式是否正确。 17. `^[a-zA-z]+://` - 匹配URL的协议部分,如"http://"或"https://"。 18. `匹配中文字符的正则表达式:[\u4e00-\u9fa5]` - 这个范围包含了所有中文字符的Unicode编码。 19. `匹配双字节字符(包括汉字在内):[^\x00-\xff]` - 匹配非ASCII字符,通常用于匹配包括汉字在内的双字节字符。 20. 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)。这个函数通过将非ASCII字符替换为"aa"来计算长度。 21. `匹配空行的正则表达式:\n[\s?]*\r` - 匹配包含任意数量空白字符的行结尾。 22. `匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>?<(.*)\/>/` - 这个正则表达式试图匹配HTML标签,但它可能无法处理所有复杂情况,因为HTML的结构非常复杂,推荐使用HTML解析库来处理。 23. `匹配首尾空格的正则表达式` - 未提供具体的正则表达式,通常会使用`^\s+|\s+$`来匹配字符串开头或结尾的空格。 这些正则表达式是Java编程中常用的模式匹配工具,对于数据验证、文本处理和信息提取等任务非常有用。了解并熟练运用它们能帮助开发者提高代码质量,确保数据的正确性和一致性。在实际开发中,根据具体需求可能会对这些表达式进行调整和扩展。