一、正则的概念
正则:规则字符串出现规律的表达式
<script>/* 后面加上g,全局替换 */var reg = /傻/g;var p = "你傻呀,你怎么这么菜:你真是傻";/* repLace() */var res = p.replace(reg,"**")console.log(res)</script>
二、简单的正则
test() 获取字符串中是否包含的正则表达式匹配的字符
包含这个值返回true 不包含返回false
<script>var reg = /1/;var p = "12345";console.log(res.text(p)) //ture</script>
三、api

<script>/* match,search,replace,spLit */var p = "hello worldL";/* i是忽略大小写 *//* 正则表达式后面的为修饰符 */var reg = /l/ig;console.log(p.match('l'));console.log(p.match(reg));var regb = /垃圾/g;var pp = "它是垃圾,见到垃圾就要扔了";var res = (pp.replace(regb,"**"));console.log(res)console.log(pp.match(regb))</script>
四、test和g的关系
Tips:test() 方法为局部匹配而生
`用test后面不要加g``
lastIndex:是当前表达式匹配内容的最后一个字符的下一个位置
<script>var str = "aaha";var reg = /a/g;while(reg.test(str)){console.log(reg.lastIndex)/* 1,2,4 */}console.log(reg.test(str)) // 1console.log(reg.test(str)) //2console.log(reg.test(str)) //4</script>
五、备选字符集
备选字符集:规定某一位字符的备选字符列表
- 特点:多选一

<script>var reg = /上[海,天,去]/gvar str = "我要去上海,我要上去东方明珠,去上天";console.log(str.replace(reg,"**"))var regs =/中[国,共,华]/g;var strr = "中国人民共和国成立了,中共很牛逼,大中华牛逼";console.log(strr.replace(regs,"666"))</script>
5-1连号的备选字符集
- [0-9]
- [a-z]
- [a-zA-Z]
- [0-9A-Za-z]

<script>var str = "2345234jRalgjowEvdsSg";var reg = /[0-9]/g;console.log(str.replace(reg,"*"));console.log(str.replace(/[a-z]/g,"*"));console.log(str.replace(/[a-zA-Z]/g,"*"));console.log(str.replace(/[0-9A-Za-z]/g,"*"));</script>
5-2预定义字符集
- 针对常用的备选字符集提供的简化符号
- 量词:就是规定某一位字符出现的次数
<script>{3,6} 三到六次{3,} 三次以上*/var reg = /\d{3,}/;var str = "22334fsgdgdg";console.log(reg.test(str))</script>
6-1三个数字+天
<script>/* 三个数字+天123天4324234 天*/var reg = /\d{3,4}天/g;var p = "2323天地介绍了附件435天";console.log(p.replace(reg,"**"))</script>
6-2不确定数量的量词
- + 1个,或1个以上 m>=1 {1,}
- * 0个或多个 {0,}
-
七、贪婪属性

<script>/* 正则表达式默认是贪婪的 */var str = "123456fsjgldieg";var reg = /\d{3,6}/;console.log(str.replace(reg,"*"));/* 非贪婪模式,量词后面加? */console.log(str.replace(/\d{3,6}?/,"*"))</script>
八、匹配位置
^ 以什么开头
- $ 以什么结尾

<script>var str = " hello world";var s = "hello "var reg =/^\s+/;console.log(str.replace(reg,"*"))var r =/\s+$/;console.log(s.replace(r,"*"))</script>
