JavaScript正则表达式
2020年7月16日正则表达式(Regular Expression)适用于匹配字符串中字符组合的模式.在javaScript中,正则表达式也是对象
https://regex101.com/ 正则表达式 测试练习
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions 正则表达式 手册
创建正则表达式
1 2 3 4 5 6 7 |
//1.利用 RegEXp对象 来创建 正则表达式 var reg = new RegExp(/123/) //写正则表达式不需要 '' "" 引号 console.log(reg) //2.利用字面量创建 正则表达式 var reg1 = /123/ //写正则表达式不需要 '' "" 引号 console.log(reg1) |
正则表达式对象 常用方法
1 2 3 4 5 6 7 |
/** * test() 检测文本是否符合正则表达式 ************************************************************* * regExpObj : 表示你刚刚,通过字面量 || RegExp对象 创建的 正则表达式 * str : 就是需要检测的文本 */ regExpObj.test(str) |
正则表达式中的特殊字符
边界符
1 2 |
^ //表示匹配首行的文本(以谁开头) $ //表示匹配尾行的文本(以谁结尾) |
字符类
1 2 3 4 5 6 7 |
/** * [] 代表字符类 , * 代表字符允许出现的范围 */ [] //字符类 /[A-Za-z0-9]/ //允许大小写字母和数字 /^[^a-zA-Z0-9]$/ //不允许大小写字母和数字 []里^代表取反 注意一下 |
量词符
1 2 3 4 5 6 |
* //0次或多次 + //1次或多次 ? //0次或1次 {n} //重复 n次 {n,} //重复 n次 或 多次 {n,m} //重复 n次 到 m次 |
预定义符
1 2 3 4 5 6 |
\d //匹配所有数字 \D //匹配所有非数字 \w //匹配所有字母 数字 下划线 ,相当于 [A-Za-z0-9_] \W //匹配所有非字母 数字 下划线 ,相当于 [A-Za-z0-9_] \s //匹配所有空格 (包括换行符,制表符,空格...) \S //匹配所有非空格 |
小括号中括号大括号总结
- 大括号 量词符. 里面表示重复次数
- 中括号 字符类 .里面表示字符集合。匹配方括号中的任意字符.
- 小括号 表示优先级 ,就是把小括号里的内容单独看做一个整体 如匹配首尾空格的正则表达式:(^\s*)|(\s*$)
正则替换
1 2 3 4 5 6 7 8 |
/** * replace() 使用正则替换字符串中的内容 * ******************************** * stringObject : 表示字符串对象 * regexp : 正则 *replacement : 替换成什么内容 比如 ** xx */ stringObject.replace(regexp , replacement) |
案例
1 2 3 4 5 6 |
str = '我好帅 我好帅我好帅我好帅' /** * i 代表 不区分大小写 * g 代表 全局替换, 不是替换一个就结束了 */ console.log(str.replace(/帅/ig , '*')) |