实用正则表达式大全:验证与文本处理

需积分: 10 0 下载量 155 浏览量 更新于2024-09-11 收藏 119KB PDF 举报
正则表达式是计算机编程中用于模式匹配的强大工具,特别适用于字符串处理和输入验证等场景。以下是一些常用正则表达式的详细介绍: 1. **Email**:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/ 用于验证电子邮件地址,匹配格式如`example@example.com`。 2. **Phone**:/^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/ 用于验证电话号码,包括国际区号和国内号码格式。 3. **Mobile**:/^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/ 专用于匹配中国大陆的手机号码。 4. **Url**:/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^\"\"])*$/ 用于检查是否为有效URL。 5. **IdCard**: /^\d{15}(\d{2}[A-Za-z0-9])?$/ 识别身份证号码,可能包含最后两位校验码。 6. **Currency**: /^\d+(\.\d+)?$/ 用于匹配货币数值,如美元或人民币。 7. **Number**: /^\d+$/ 简单的数字匹配,只接受整数。 8. **Zip**: /^[1-9]\d{5}$/ 匹配中国邮政编码。 9. **QQ**: /^[1-9]\d{4,8}$/ 用于验证QQ号码。 10. **Integer** 和 **Double**:分别用于匹配整数和浮点数,如 `^-?\d+$` 和 `^-?\d+(\.\d+)?$`。 11. **English** 和 **Chinese**:分别用于匹配英文字符和中文字符,`\p{L}` 可以替代,但中文的正则表达式更精确。 12. **Username**: /^[a-z]\w{3,}$/i 是一种基本的用户名规则,允许小写字母和至少3个单词字符。 13. **UnSafe**:匹配复杂字符串,包括字母、数字、特殊字符、空格和控制字符,但需注意可能存在安全风险。 14. **匹配中文字符**:`[\u4e00-\u9fa5]`,这是一个 Unicode 范围,专用于中文字符。 15. **匹配双字节字符**:`[^\x00-\xff]`,用于检测包含汉字在内的多字节字符,便于计算长度。 16. **匹配空白行**:`\n\s*\r`,用于查找或删除文本中的空白行。 17. **匹配HTML标记**:`<(\S*?)[^>]*>.*?</\1>|<.*?/>`,用于提取HTML标签,注意这并不是完全解析器,只能处理部分标签。 以上这些正则表达式覆盖了常见的验证需求,但在实际应用中,可能需要根据具体业务场景进行调整或扩展。正则表达式的理解和灵活运用对于编写高效的代码和处理文本数据至关重要。