基础符号
| :满足左右两边的表达式
[]:原子表,只能匹配一个,存在于内,如:[a-z]在a-z的写字母中、[124-5]在1、2、4、-、5中
():原子组,存在于内,如:(12|34)在12、34中;
^ $:起始 结束,常配合完整验证(因为正常情况下匹配不到就停止);单独内部使用^为非,如:[^\d]表示除了数值
:位数,如:{3,5}表示3-5位、{3}表示3位
\d:一个数值,\D非数值
\b:元字符,通常原来间隔英文单词,如:/\b adic \b/
\s:空白,\S非空白
\w:字母数字下划线
+:一个或多个
*:没有或多个
?: 有或者没有
.:除换行外任意字符
i g m u:大小写不敏感 全局 多行匹配 特殊处理
基础方法
match(),将字符串根据正则拆分为数组,不会改变字符串本身
str.match(reg)
var str = 'hsakjd55ad4asda645'
console.log(str.match(/\d/g))
//(6) ["5", "5", "4", "6", "4", "5"]test(),监测字符串是否满足正则,返回bool
reg.test(str)
var str = 'hsakjd55ad4asda645'
console.log(/d/.test(str))
// trueexec(),与match类似,但其有个属性lastIndex控制每次执行后的次数(正则需要使用全局模式g才会记录)
扩展方法
一.replace(),将支持正则的内容处理后返回,不会改变字符串本身
str.replace(reg,func)
func携带符合正则的值,方法内返回处理结果
let str = 'www.adicw.cn'
let rel = str.replace(/cn/, item => {
return 'com'
})
console.log(str, rel)
// www.adicw.cn www.adicw.com常见实例
- /\p/gu:匹配对应的文字,关键字\p、sc=Han、gu
