正则表达式匹配特殊字符完全指南

0 下载量 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+)?$` 掌握这些正则表达式,可以帮助开发者更精确地对字符串中的数字部分进行验证和处理。在实际应用中,可以根据具体需求调整这些正则表达式,以满足特定的输入格式要求。