1.正则表达式的创建
1.1.通过调用RegExp对象的构造函数创建
let regExp = new RegExp(/123/)
console.log(regExp)
1.2.利用字面量创建正则表达式
let reg = /123/
2.测试正则表达式
test()正则对象方法,用于检测字符串是否符合该规则,该对象会返回true/false,其参数是测试字符串
let rg = /123/
console.log(rg.test(123)) //true
console.log(rg.test('abc')) //flase
3.正则表达式中的特殊字符
3.1.边界符
边界符 | 说明 |
---|---|
^ | 匹配行首的文本(以谁开始) |
$ | 匹配行尾的文本(以谁结束) |
如果^和$在一起,表示必须是精确匹配。
3.2.字符类
– 字符类表示有一些列字符串可供选择,只要匹配其中一个就可以。所以可供选择的字符串都放在方括号。
3.2.1.[]方括号
-- 表示一系列字符可供选择,只要匹配其中一个就行了
-- /^[a-z]$/ 26个英文字母任意一个字母返回true,(表示 a-z 的范围)
字符组合
-- /^[a-zA-Z0-9_-]$/ 26个字母大写或小写,数组_-任意返回一个,都是true
3.3.量词符
– 量词符用来设定某个模式出现的次数
量词 | 说明 |
---|---|
* | 重复0次或更多次 |
+ | 重复1次或更多次 |
? | 重复0次或1次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
3.4.预定义类
指的是某些常见模式的简写方式
预定义类 | 说明 |
---|---|
\d | 相当于[0-9] |
\D | 相当于[^0-9] |
\w | 相当于[A-Za-z0-9] |
\W | 相当于[^A-Za-z0-9] |
\s | 匹配空格(换行符、制表符、空格符表、相当于[\t,\r,\v,\f,\n]) |
\S | 匹配非空格的字符[^\t\r\n\v\f] |
4.正则替换replace
-- replace()方法可以实现替换字符串操作
-- replace('要替换的','被换成')
用来替换的参数可以是一个字符串或一个正则表达式
//g(全局匹配) //i(忽略小写) //gi(全局匹配忽略大小写)
举个🌰:
let str = 'aabbc'
let newStr = str.replace(/a/g,'哈')
console.log(newStr) 哈哈bbcc