正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和验证字符串模式。下面将详细解释提供的正则表达式及其用途。
1. `^\d+$`:匹配非负整数,即正整数和0。
2. `^[0-9]*[1-9][0-9]*$`:同样匹配正整数,但不包括0,至少包含一个正数。
3. `^((-\d+)|(0+))$`:匹配非正整数,包括负整数和0。
4. `^-[0-9]*[1-9][0-9]*$`:匹配负整数,确保至少有一个负号后跟一个正数。
5. `^-?\d+$`:匹配整数,包括正、负和0。
6. `^\d+(\.\d+)?$`:匹配非负浮点数,包括正浮点数和0,允许有小数点。
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+)?$`:匹配浮点数,包括正、负和0,允许有小数点。
11. `^[A-Za-z]+$`:匹配仅包含26个英文字母的字符串。
12. `^[A-Z]+$`:匹配仅包含26个大写字母的字符串。
13. `^[a-z]+$`:匹配仅包含26个小写字母的字符串。
14. `^[A-Za-z0-9]+$`:匹配由数字和26个英文字母组成的字符串。
15. `^\w+$`:匹配由数字、26个英文字母或下划线组成的字符串,等同于`^[A-Za-z0-9_]+$`。
16. `^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$`:匹配电子邮件地址,如`example@example.com`。
17. `^[a-zA-z]+:\/\/(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$`:匹配URL格式,如`http://www.example.com`。
18. `[\u4e00-\u9fa5]`:匹配中文字符,基于Unicode编码范围。
19. `[^\x00-\xff]`:匹配双字节字符,如汉字。
20. `String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}`:计算字符串的长度,双字节字符计为2,ASCII字符计为1。
21. `\n[\s| ]*\r`:匹配空行,包括换行符和可能的空格。
22. `<(.*)>.*<\/\1>|<(.*) \/>`:匹配HTML标签,如`<tag>content</tag>`或`<tag/>`。
23. `(^\s*)|(\s*$)`:匹配字符串开头或结尾的空格。
以下是一些额外的应用示例:
1. `^\S+[a-z A-Z]$`:不能为空,不能有空格,只能是英文字母。
2. `\S{6,}`:不能为空,至少6位以上。
3. `^\d+$`:不能有空格,必须是非负整数。
4. `(.*)(\.jpg|\.bmp)$`:只能是jpg或bmp格式的文件名。
5. `^\d{4}\-\d{1,2}-\d{1,2}$`:匹配日期格式,如2004-10-22。
6. `^0$`:表示至少选一项,且为空。
7. `^0{2,}$`:表示至少选两项。
8. `^[\s|\S]{20,}$`:不能为空,至少20个字符。
9. `^\+?[a-z0-9](([-+._]|_)?[a-z0-9]+)*@([a-z0-9]+(\.|-))+[a-z]{2,6}$`:匹配电子邮件地址。
10. `\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*([,;]\s*\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)*`:匹配多邮箱地址,用逗号或空格分隔。
11. `^(\([0-9]+\))?[0-9]{7,8}$`:匹配电话号码,7到8位,可选区号。
12. `^[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(\.[a-z A-Z 0-9 _]+)+(\,[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(\.[a-z A-Z 0-9 _]+)+)*$`:更严格的电子邮件格式。
13. `^\w+@\w+(\.\w+)+(\,\w+@\w+(\.\w+)+)*$`:与上一条类似,更简洁的电子邮件格式。
掌握这些正则表达式可以极大地提高你在处理字符串时的效率,尤其是在数据验证、搜索和替换等方面。它们是编程语言中的重要工具,广泛应用于网页开发、文本处理和数据分析等领域。