企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## 1.备选字符集:规定某一位字符的备选字符列表 ``` 特点:必须且只能多选一 eg:上天,上海 上[天海] 将字符串中的上海,上天两个字符换成** ``` ``` var str ="上海,上天,上去,上哪" var reg =/上[海天]/g; console.log(str.replace(reg,"**")); ``` ### 1.1备选字符的unicode号连续 ``` //一个数字 [0-9]//一个小写字母 [a-z]//一个大写字母 [A-Z]//一个数字或字母 [0-9a-zA-Z] ``` ## 2.预定义字符集:针对常用的备选字符集提供的简化符号 ``` //一位数字 [0-9] --> \d //一位数字字母或下划线 [0-9a-zA-Z_] -->\w \s //1位空字符:空格,tab,换行 . // 除换行外,其余所有字符 ``` ## 3.量词:定字符集出现的次数 > 特点:默认一个量词,仅修饰左侧紧邻的字符集 ### 3.1 确定数量: ``` {m,n} -->至少m个,最多n个 {m,} -->m个以上 {m} -->必须m个 ``` ### 3.2 不确定数量 ``` ? -->一个或0个 + -->1个以上 * -->多个或没有 ``` ## 4.test() 方法用于检测正则表达式是否匹配字符串的一部分,返回boolean值 语法reg.test(str); 返回boolean值 ``` var reg =/\d{5,9}/; var str = "323232hell"; console.log(reg.test(str)); //true ``` ## 5.贪婪模式和懒惰模式 ### 贪婪模式 ``` var str = "123456abc"; var reg = /\d{3,6}/; console.log(str.replace(reg,"*")) ``` ### 懒惰模式? ``` var str = "123456abc"; var reg = /\d{3,6}?/; console.log(str.replace(reg,"*")) ``` ## 6. 选择和分组 ``` //选择 | 读作"或" //分组 () 转义字符\ ``` ``` var a ="hello\""; console.log(a); \\hello" 手机号:+86或0086 可有可无,最多1个 空字符 不限制个数 1 3,4,5,7,8 选其一 9位数字 (\+86|0086)?\s*1[34578]\d{9} ``` ## 7. 指定匹配位置 开头和结尾:^开头的xxx;$结尾的xxx 何时使用:仅匹配开头的规则和结尾的规则时使用 固定搭配:^正则表达式$-->表示从头到尾完整匹配 开头和结尾只出现正则表达式的内容 何时使用:只要验证时,必须前加^,后加$! ``` //匹配字符串开头的所有空字符 ^\s+ //匹配字符串结尾的所有空字符 \s+$ var a =" hello"; var reg =/^\s+/; var str =a.replace(reg,""); console.log(str); ``` ## 8. 排除 ``` //除了abc [^abc] ```