本文档是为初学者准备的正则表达式汇总,涵盖了多个常见的模式,帮助理解和掌握在编程、数据验证和文本处理中所用的基础正则表达式语法。以下是一些关键知识点的详细介绍:
1. **非负整数匹配**:`^\d+$` 匹配只包含非负整数的字符串,包括正整数和零。
2. **正整数匹配**:`^[0-9]*[1-9][0-9]*$` 用于验证输入的数字序列是否表示正整数,如123或0。
3. **非正整数匹配**:`^((-\d+)?(0+))$` 包括负整数和零,如-10或0。
4. **负整数匹配**:`^-[0-9]*[1-9][0-9]*$` 专用于匹配负整数。
5. **整数匹配**:`^-?\d+$` 可以匹配正负整数,包括零。
6. **非负浮点数匹配**:`\d+(\.\d+)?` 和 `^(([0-9]+\.[0-9]*[1-9][0-9]*)?([0-9]*[1-9][0-9]*\.[0-9]+)?([0-9]*[1-9][0-9]*))$` 分别处理小数部分的存在与否。
7. **浮点数匹配**:包含正负情况的浮点数匹配,如 `-123.45`。
8. **邮箱地址匹配**:`^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+` 用于验证电子邮件格式。
9. **URL匹配**:`^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$` 匹配标准的URL结构。
10. **中文字符匹配**:`[\u4e00-\u9fa5]` 匹配所有中文字符。
11. **双字节字符匹配**:`[^\x00-\xff]` 包含汉字在内的多字节字符。
12. **字符串长度计算**:通过替换非双字节字符为占位符来计算字符串的实际长度。
13. **空行和HTML标记匹配**:分别用 `\n[\s?]*\r` 和 `<(.*)>.*<\/\1>?<(.*)\/>` 来识别空行和HTML标签。
14. **首尾空格移除**:`(^\s*)?(\s*$)` 用于去除字符串首尾的空白字符。
这些正则表达式不仅适用于文本验证,还能用于自动化处理大量文本数据,提高开发效率。学习和理解这些基础正则表达式是成为一位熟练的IT专业人员的重要一环。在实际项目中,根据具体需求灵活运用和组合这些模式,可以解决各种复杂的文本操作问题。