"正则表达式大全学习文档,涵盖了匹配中文字符、双字节字符、空白行、HTML标记、首尾空白字符、Email地址、网址URL、合法帐号、国内电话号码、腾讯QQ号、中国邮政编码、身份证号以及IP地址等多种正则表达式模式。"
正则表达式是一种强大的文本处理工具,广泛应用于web开发,尤其是在JavaScript中。它们用于在文本中进行搜索、替换和验证。以下是一些关键的正则表达式模式及其应用:
1. **匹配中文字符**:`[\u4e00-\u9fa5]` - 这个正则表达式用于匹配所有中文字符,包括简体和繁体。它利用Unicode范围来定位中文字符。
2. **匹配双字节字符**:`[^x00-xff]` - 双字节字符包括汉字和其他多字节字符。这个正则表达式用于计算字符串中双字节字符的数量,不包含ASCII字符。
3. **匹配空白行**:`\n[\s|]*\r` - 这个正则表达式可以用来查找和删除文本中的空白行,包括空格、制表符等。
4. **匹配HTML标记**:`<(S*?)[^>]*>.*?|<.*?/>` - 虽然不完美,但这个正则表达式可以帮助匹配HTML标签,不过对于复杂嵌套的HTML结构可能无法完全匹配。
5. **匹配Email地址**:`w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*` - 用于验证输入的字符串是否符合电子邮件地址的格式。
6. **匹配网址URL**:`[a-zA-z]+://[^s]*` - 这个正则表达式可以识别大部分的URL格式,但可能无法处理所有特殊情况。
7. **匹配合法帐号**:`^[a-zA-Z][a-zA-Z0-9_]{4,15}$` - 验证用户输入的账号是否以字母开头,长度在5-16个字符之间,且只包含字母、数字和下划线。
8. **匹配国内电话号码**:`d{3}-d{8}|d{4}-d{7}` - 可以用来验证中国区号格式的电话号码,支持0511-4405222或021-87888822等形式。
9. **匹配腾讯QQ号**:`[1-9][0-9]{4,}` - 用于验证输入的数字序列是否是有效的腾讯QQ号码。
10. **匹配中国邮政编码**:`[1-9]d{5}(?!d)` - 验证输入的字符串是否为6位数字的中国邮政编码。
11. **匹配身份证号**:`d{15}|d{18}` - 匹配15位或18位的中国身份证号码。
12. **匹配IP地址**:`d+.d+.d+.d+` - 简单的IP地址匹配,通常用于提取或验证IP地址。
13. **匹配特定数字**:
- `^[1-9]d*$` - 匹配正整数。
- `^-[1-9]d*$` - 匹配负整数。
- `^-?[1-9]d*$` - 匹配整数。
- `^[1-9]d*|0$` - 匹配非负整数(正整数+0)。
- `^-[1-9]d*|0$` - 匹配非正整数(负整数+0)。
掌握这些正则表达式将极大地提升你在web开发中的文本处理能力,无论是数据验证、信息提取还是文本清洗,都将变得更加高效和精确。在实际使用中,根据具体需求可能需要对这些表达式进行微调或扩展。