<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var str = 'dadaadadad 4534556434 anjkadnjkwdajk';
// 获取122形式的字符形式
let reg = /(\w)(\w)\2/g;
console.log(str.match(reg)); //[0: "daa]
//贪婪模式与非贪婪模式
reg = /(\d){2,3}/g;
console.log(str.match(reg), '贪婪模式');
reg = /(\d){2,3}?/g;
console.log(str.match(reg), '非贪婪模式');
// 查看正则的指针
reg = /\d/g;
reg.test(str);
console.log(reg.lastIndex); //12
//检测字符串是否存在
reg = /jkad/g;
console.log(reg.test(str)); //true
//输出匹配的字符串
reg = /jkad(\w)/g;
console.log(reg.exec(str)); //Array [ "jkadn", "n" ] 出现"n"的原因是(\w) 会匹配子表达式
/**************************************/
//字符串String方法
//查找
// search方法查询检索字符串中指定的子字符串
console.log(str.search('ad')); //1
// search方法用于正则方法匹配字符串
console.log(str.search(/ad/g)); //1
//匹配
// match方法匹配内容
console.log(str.match(/(\d)+/)); //Array [ "4534556434", "4" ] 出现为"4"的原因与之前的一致
console.log(str.match(/(\d)+/g)); //Array [ "4534556434" ] 全局执行的话 结果会一次性返回
//替换
//replace(被替换的匹配字符串,[要替换成的字符串或者回调函数])
console.log(str.replace('dadaadadad', 'DADAADADAD')); //dadAAdadad 4534556434 anjkadnjkwdajk
console.log(str.replace(/dadaadadad/, 'DADAADADAD')); //dadAAdadad 4534556434 anjkadnjkwdajk
var result = str.replace(/\d{1,}/, function (match) {
return match = ''
})
console.log(result); //dadaadadad anjkadnjkwdajk
//分割字符串
str = 'ds dada jojj jjj'
console.log(str.split(' ')); //(10) ['ds', '', '', 'dada', 'jojj', '', '', '', '', 'jjj']
// 光使用split('')无法完成分割完整字符串的需求,因此需要用其他方法
console.log(str.split(/\s+/)); //(4) ['ds', 'dada', 'jojj', 'jjj']
//.匹配除\n外的所有字符串 .不能用于字符簇
console.log(str.match(/.+/)); //Array [ "ds dada jojj jjj" ]
console.log(str.match(/(.|\n )+/)); //Array [ "ds dada jojj jjj", "j" ]
// \b字符串定位
console.log(str.match(/\bjjj\b$/g)); //Array [ "jjj" ]
</script>
</body>
</html>
?
|