正则表达式实用大全
需积分: 1 32 浏览量
更新于2024-09-08
收藏 14KB TXT 举报
"正则表达式是一门强大的文本处理工具,用于匹配、查找、替换等操作。本资源提供了一些常用正则表达式的模式和实例,适用于各种编程语言,旨在帮助开发者更加灵活地处理字符串和数据验证。"
1. 通用空白字符匹配:`\s` 可以匹配任何空白字符,包括空格、制表符、换页符等,常用于去除字符串中的多余空白。
2. 数字验证:
- `^\d+$`:匹配一个或多个数字,确保输入全由数字组成。
- `^[0-9]*[1-9][0-9]*$`:确保至少包含一个非零数字,避免全零的情况。
- `^((-\d+)|(0+))$`:匹配负整数或零。
- `^-[0-9]*[1-9][0-9]*$`:匹配负整数,但不包括-0。
- `^-?\d+$`:匹配整数,包括正负。
- `^\d+(\.\d+)?$`:匹配浮点数,允许有小数点但不强制。
- `^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$`:更严谨的浮点数匹配,确保至少有一位小数。
- `^((-\d+(\.\d+)?)|(0+(\.0+)?))$`:匹配浮点数,包括负数和正零。
- `^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$`:更复杂的负浮点数匹配。
- `^(-?\d+)(\.\d+)?$`:匹配浮点数,简化版。
3. 字母字符匹配:
- `^[A-Za-z]+$`:匹配全大写或全小写字母组成的字符串。
- `^[A-Z]+$`:匹配全大写字母组成的字符串。
- `^[a-z]+$`:匹配全小写字母组成的字符串。
- `^[A-Za-z0-9]+$`:匹配字母和数字组合的字符串。
- `^\w+$`:匹配字母、数字和下划线组成的字符串,等同于`[a-zA-Z0-9_]`。
4. 邮箱和URL验证:
- `^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$`:验证邮箱地址格式。
- `^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$`:验证URL格式。
5. 日期格式验证:
- `/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/`:匹配月/日/年的日期格式(如01/01/2022或2022/01/01)。
- `/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/`:匹配日/月/年日期格式(如01/01/22或22/01/01)。
6. 电话号码验证:
- `/^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$/`:匹配不同国家/地区的电话号码格式。
7. 其他正则表达式:
- `"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"`:另一种邮箱地址验证方式。
- `/^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$/`:与之前相同的电话号码验证。
这些正则表达式模式覆盖了日常开发中常见的数据验证需求,通过它们可以有效地过滤和处理用户输入,提高程序的健壮性和安全性。在实际应用中,可以根据具体场景对这些模式进行微调或组合使用。
2018-05-22 上传
2017-10-18 上传
2019-09-29 上传
2023-09-15 上传
2023-07-28 上传
2023-06-06 上传
2023-05-30 上传
2023-05-02 上传
2023-09-07 上传
m0_38124347
- 粉丝: 0
- 资源: 1
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析