正则表达式匹配特殊字符完全指南
160 浏览量
更新于2024-08-31
收藏 81KB PDF 举报
正则表达式是用于匹配字符串模式的强大工具,广泛应用于数据验证、文本搜索和替换等多个领域。本文主要探讨了如何使用正则表达式来匹配各种特殊字符。
在正则表达式中,特殊字符通常需要转义才能作为匹配的字符。例如,`(` 和 `)` 在正则表达式中用于分组,如果要匹配它们本身,就需要写成 `\(` 和 `\)`。以下是一些常见特殊字符的匹配方法:
1. 可见的非字母和数字的符号:`[(?=[\x21-\x7e]+)[^A-Za-z0-9]]` 这个正则表达式匹配所有ASCII码在`\x21`(感叹号)到`\x7e`(波浪线)之间的字符,这些字符包括了键盘上所有可见的非字母和数字的符号。
2. 防止输入框输入特殊字符的验证:`var patrn = /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/im;` 这个正则表达式涵盖了英文和中文状态下的键盘特殊字符,用于验证输入是否包含这些特殊字符,如果包含则返回 `false`。
3. 匹配非空非字母非数字字符:`[^\w\s]+` 这个正则表达式会匹配任何不是单词字符(字母、数字、下划线)和空白字符的字符。
接下来是一系列关于数字匹配的正则表达式:
- 仅数字:`^[0-9]*$`
- n位数字:`^\d{n}$`
- 至少n位数字:`^\d{n,}$`
- m-n位数字:`^\d{m,n}$`
- 零或非零开头的数字:`^(0|[1-9][0-9]*)$`
- 最多两位小数的非零数字:`^([1-9][0-9]*)+(.[0-9]{1,2})?$`
- 带1-2位小数的正数或负数:`^(\-)?\d+(\.\d{1,2})?$`
- 正数、负数、和小数:`^(\-|\+)?\d+(\.\d+)?$`
- 两位小数的正实数:`^[0-9]+(.[0-9]{2})?$`
- 1~3位小数的正实数:`^[0-9]+(.[0-9]{1,3})?$`
- 非零的正整数:`^[1-9]\d*$` 或 `^([1-9][0-9]*){1,3}$` 或 `^\+?[1-9][0-9]*$`
- 非零的负整数:`^\-[1-9][]0-9"*$` 或 `^-[1-9]\d*$
- 非负整数:`^\d+$` 或 `^[1-9]\d*|0$`
- 非正整数:`^-[1-9]\d*|0$` 或 `^((-\d+)|(0+))$`
- 非负浮点数:`^\d+(\.\d+)?$` 或 `^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$`
- 非正浮点数:`^((-\d+(\.\d+)?)|(0+(\.0+)?))$` 或 `^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$`
- 正浮点数:`^[1-9]\d*(\.\d+)?$`
掌握这些正则表达式,可以帮助开发者更精确地对字符串中的数字部分进行验证和处理。在实际应用中,可以根据具体需求调整这些正则表达式,以满足特定的输入格式要求。
2014-11-14 上传
2011-08-18 上传
2020-07-22 上传
2023-09-17 上传
2023-09-20 上传
2024-10-03 上传
2023-06-08 上传
2024-06-01 上传
2023-05-27 上传
weixin_38732740
- 粉丝: 2
- 资源: 895
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库