let str ='please make heath your first proprity';
str1 = str.replace(/\b\w+\b/g,function(word){
console.log('匹配正则的参数',word);return word[0].toUpperCase()+ word.slice(1);});
console.log(str1);//Please Make Heath Your First Proprity
var str=/hell(?=o)/g//hell后面带o的var str=/(?<=h)ello/g//判断前面的
手机号后四位变成**
var str='13719863466'var reg=/(?<=\d{7})\d{4}/ig
str.replace(res,(a)=>{return*.repeat(4)})
\ 转义字符
当一个字符存在多个含义的时候就需要转义
项目
Value
. 点
第一个含义除换行外普通字符,第二个含义字符串点
var str='http://www.baidu.com'(/http?:\/\/\w+\.\w+\.\w+/)
$& 匹配到的内容
let hd='qq345q'
hd.replace(/345/,'$&')//qq345q
hd.replace(/345/,'$&0')//qq3450q
原子组
用()包起来,拥有自己的组编号
let str='2002-03-22'
str.match(/^\d{4}([\/-])\d{2}([\/-])\d{2}$/)
str.match(/^\d{4}([\/-])\d{2}\1\d{2}$/)//或者这么写//[\/-]原子表 2002/03/22或者用- 链接都可以//\1代表用前面的原子表匹配模式
(?:com| org|cn)不保存这个原子组,不能使用\1
h标签替换p标签
var a =`
<h1>123</h1>
<h2>234</h2>
`var b = a.replace(/<(h[1-6])>([\s\S]+)<\/\1>/gi,(p0, p1, p2)=>{//preturn`<p>${p2}</p>`//提取第二个原子组的内容})
console.log(b)// <p>123</p> <p>234</p>
原子组起别名?< 名字>
var reg=/<span>(?<con>[\s\S]+?)<\/span>/gi//?禁止贪婪
sp.innerHTML.replace(reg,'<h2>$<con></h2>')
匹配中文
let a='dyyui344,加油'
a.match(/\p{sc=Han}/gu)
文字高亮
<body><div class="box">345v4435tvgrr</div></body><script>var a =prompt('请输入要查询的,可以用正则')var b =newRegExp(a,'g')var box = document.querySelector('.box')
box.innerHTML = box.innerHTML.replace(b,c=>{return`<span style="color:red">${c}</span>`})</script>