// 1. Match函数
// 原型:stringObj.match(regExp)
// 原型:stringObj.match(regExp)
// 返回值:如果没有使用g(全局匹配)选项,则返回第一个匹配的字符串、该字符串所在位置及原始字符串组成的数组,
// 如果使用g选项,则返回所有匹配的字符串组成的数组
var str = "aaabbbcccaaabbbccc";
var reg = str.match(/aaa/)
var reg2 = str.match(/aaa/g)
console.log(reg)
console.log(reg2)
// 2.exec函数
// 原型:regExp.exec(stringObj)
// 使用指定的正则表达式模式去字符串中查找匹配项,并以数组形式返回,如果未查找到则返回null
// 返回值:无论有无g选项,都返回第一个匹配的字符串、该字符串所在位置及原始字符串组成的数组,
// 但是该方法可以返回子匹配项,是match所不能及的
// 示例1:
var str = "aaabbbcccaaabbbccc";
var regExp = /aaa/
var reg = regExp.exec(str)
console.log(reg)
// 示例2:
var str = "aaabbbcccaaabbbccc";
var regExp = /aaa/g
var reg = regExp.exec(str)
console.log(reg)
// 示例3:
var str = "aaabbbccc1234aaabbbccc";
var regExp = /ccc([0-9]+)aaa/
console.log(regExp.exec(str))
// 第一个表示整个正则表达式所匹配的内容;第二个表示()内容的子表达式所匹配的内容;第三个和第四个同上
// 示例4:
// var str = "daaabbbccc1234aaabbbcccaaabbbccc5678aaabbbccc";
// var reg = /ccc([0-9]+)aaa/g;
// var res = reg.exec(str)
// console.log(res)
// 输出同示例三,因为exec只返回第一个匹配的字符串,如果想全部返回,则需要借助while循环和g参数来实现,如下
var str = "aaabbbccc1234aaabbbcccaaabbbccc5678aaabbbccc";
var reg = /ccc([0-9]+)aaa/g;
while(res = reg.exec(str)){
console.log(res)
}
// 3.test函数
// 原型:regExp.test(str)
// 返回值:布尔类型,匹配则返回true,否则false
// 示例1:
var str = "aaabbbcccaaabbbccc"
var reg = /[a-z]+/
var res = reg.test(str)
console.log(res)
// 示例2:
var str = "aaabbbcccaaabbbccc";
var reg = /[0-9]+/
var res = reg.test(str)
console.log(res)
// 4.search函数
// 原型:stringObj.search(regExp)
// 返回值:返回第一个匹配的字符串所在的位置(偏移量),从0开始
var str = "aaabbbcccaaabbbccc";
var reg = /ccc/;
console.log(str.search(reg))
// 5.replace函数
// 原型:stringObj.replace(regExp, replaceText)
// replaceText表示替换成该文本内容,replaceText也可以是返回字符串的一个函数
var str = "aaabbbcccaaabbbccc";
var regExp = /aaa/g
var res = str.replace(regExp,"111")
console.log(res)
// 5.split函数
// 原型:stringObj.split([separator[, limit]])
var str = "aaa,bbb,ccc"
var reg = /,/
var res = str.split(reg)
console.log(res)
// 示例2:
var str = "aaa,bbb:ccc@ddd#eee";
var reg = /[,:@#]/;
var res = str.split(reg)
console.log(res)
// 示例3.
var str = "aaa,bbb:ccc@ddd#eee";
var reg = /[,:@#]/
var res = str.split(reg,3)
console.log(res)