1.正则表达式语法
var str ="hello";//he**o
//正则表达式:规定字符串中字符出现规律的表达式match,replace,slice,search
var 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 = /上[海天]/g
console.log(str.replace(reg,"*"))
// 上,天,那 规定某一位字符的备选字符列表
var reg =/[上天哪]/g
var 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表示空格,制表符tab
console.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]/g
console.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))