正则表达式是一种强大的文本处理工具,常用于字符串处理、表单验证等场景,能够高效地进行模式匹配和查找。以下是一些常用的正则表达式及其用途:
1. 匹配中文字符:[\一-\龥] - 这个正则表达式可以用来匹配所有中文字符,包括简体和繁体。
2. 匹配双字节字符:[^\x00-\xff] - 用于识别非ASCII字符,如中文、日文、韩文等,计算字符串长度时很有用。
3. 匹配空白行:\n\s*\r - 可以用来删除或查找文档中的空白行,对文本清理有帮助。
4. 匹配HTML标记:<(\S*?)[^>]*>.*?</\1>|<.*? /> - 虽然不能处理复杂嵌套的HTML标记,但可以匹配大部分简单的HTML元素。
5. 匹配首尾空白字符:^\s*|\s*$ - 删除行首行尾的空白字符,包括空格、制表符等。
6. 匹配Email地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* - 用于表单验证,确保输入的邮箱格式正确。
7. 匹配网址URL:[a-zA-z]+://[^\s]* - 常用于提取或验证网址。
8. 匹配合法账号:^[a-zA-Z][a-zA-Z0-9_]{4,15}$ - 验证账号是否符合字母开头,5-16字节长,允许字母、数字和下划线。
9. 匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7} - 用于识别中国大陆地区的电话号码格式。
10. 匹配腾讯QQ号:[1-9][0-9]{4,} - 验证QQ号,至少5位且大于9999。
11. 匹配中国邮政编码:[1-9]\d{5}(?!\d) - 用于识别6位的中国邮政编码。
12. 匹配身份证号码:\d{15}|\d{18} - 匹配15位或18位的中国公民身份证号码。
13. 匹配IP地址:\d+\.\d+\.\d+\.\d+ - 提取或验证IPv4地址。
14. 数字匹配:
- 正整数:^[1-9]\d*$
- 负整数:^-[1-9]\d*$
- 整数:^-?[1-9]\d*$
- 非负整数:^[1-9]\d*|0$
- 非正整数:^-[1-9]\d*|0$
- 正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
- 负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$
- 浮点数:^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
- 非负浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
- 非正浮点数:^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
15. 字符串匹配:
- 26个英文字母组成的字符串:^[A-Za-z]+$
- 大写英文字母:^[A-Z]+$
- 小写英文字母:^[a-z]+$
- 数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
- 数字、字母或下划线:^\w+$
这些正则表达式在处理字符串、数据验证、文本分析等方面非常实用,可以大大提高工作效率。在实际应用中,根据需要进行适当的修改和调整,以适应特定的业务需求。