1.正则表达式语法
var str ="hello";//he**o//正则表达式:规定字符串中字符出现规律的表达式match,replace,slice,searchvar reg = /l/ig;//i,g修饰符,i忽略大小写,g全局替换console.log(str.replace(reg,"*"))
2.正则表达式的测试
// 规则字符串中字符出现规律的表达式/* reg.test(str) */var str = "hello";var reg =/l/g;console.log(str.replace(reg,"*"));console.log(reg.test(str))
3.备选字符集
// 备选字符集: [海天] 特点:多选一/* 定义:规定某一位字符的备选字符列表 */var str = "上海,上天,上哪里去"; //"*"var reg = /上[海天]/gconsole.log(str.replace(reg,"*"))
// 上,天,那 规定某一位字符的备选字符列表var reg =/[上天哪]/gvar str ="上海,哪里去,天";console.log(str.replace(reg,"*"))
4.预定义字符集
/* 预定义字符集:针对常用的备选字符集提供的简化符号 */var str ="asfa11a3sf";var str1 ="_asfa11 sad23a3_sf_";// \d表示所有数字var reg = /\d/g;console.log(str.replace(reg,"*"))// \2表示所有数字,字母,下划线var reg1 =/\w/g;console.log(str1.replace(reg1,"*"))// \s表示空格,制表符tabconsole.log(str1.replace((/\s/g,"*")))// .表示所有字符console.log(str1.replace((/./g,"*")))
5.贪婪模式与懒惰模式
var str = "323342342323fdsf";var reg = /\d{5,7}/;console.log(reg.test(str));</script><!-- 贪婪,懒惰模式 -->
/*给量词的情况下 默认取最大值 默认是贪婪的*/var str = "2323hello";var reg = /\d{3,6}?/;console.log(str.replace(reg,"*"))
6.不确定数量的量词
/*? 0-1 {0,1}+ 大于1个 {1,}**/var str ="gdg12138"var reg=/\d?/;var reg1=/\d+/;var reg2=/\d*/;console.log(reg.test(str))console.log(reg1.test(str))console.log(reg2.test(str))
7. 选择分组
var str = "哪里,哪去能发多少积分";/* | 哪里,能发*/console.log(str.replace(/哪里|能发/g,"*"))
8.非
/* 非!*//* 将不是字母的字符替换成空 */var str = "hello2133";var reg = /[^a-z]/gconsole.log(str.replace(reg,""))
9.转义字符
/* \转义字符 遇到一些特殊的字符需要处理,可以在前面加上转义字符 */var str = "https://www.baidu.com"var s = "http://www.baidu.com"var reg = /(https|http):\/\/[w]{3}\.baidu\.com/;console.log(reg.test(s))
