正则表达式是用来做什么的?
答:用来处理字符串的,相当于过滤的性质,找到符合要求的字符集。
怎样创建一个正则表达式?
1,/条件/修饰符
2,new RegExp("条件", "修饰符") *(修饰符可选)
用法:
1,正则对象.exec(str)
如果没找到符合匹配模式的字符集,返回null
如果找到返回一个新数组
下标为0 的元素即匹配到的字符集,index即为此字符集的起始下标,input原字符串
//cxec 找不到返回null 不可选全局
var str = 'nsaius0ssabhjbvd';
console.log(/s/.exec(str))
//["0", index: 6, input: "nsaius0ssabhjbvd", groups: undefined]
2,正则对象.test(str)
返回布尔值
字符串中有符合正则匹配模式的字符集返回true, 否则返回false
//test返回布尔值
var str = 'nsaius0ssabhjbvd';
console.log(/s/g.test(str)); //true
3,字符串.replace(正则,'target')
返回修改后的字符集
// replace 返回修改后的字符集 可选全局
var str = 'nsaiuabsshjbvd';
console.log(str.replace(/s/,0)); //将s替换成0 n0aiuabsshjbvd
// console.log(str.replace(/s/g, 0)); //全局替换符合条件的都替换 n0aiuab00hjbvd
4,字符串.search(reg)
如果匹配到了字符集,则返回该字符集的起始下标,如果找不到,返回-1
// search 不可选全局
var str = 'nsaiuabhjbssvd';
console.log(str.search(/1/g)); //1 满足条件的第一个s的下标
5,字符串.match(reg)
如果没有匹配到目标字符集 返回null
如果匹配到了字符集,则返回数组,下标为0 的元素即匹配到的字符集,index即为此字符集的起始下标,input原字符串
如果匹配到了多个字符集,则返回匹配到了的字符集组成的数组
// match 返回数组 可选全局
var str = 'nsaiusssabhjbvd';
console.log(str.match(/s/)); //找到第一个符合条件的下标
// ["s", index: 1, input: "nsaiuabhjbvd", groups: undefined]
console.log(str.match(/s/g)) //["s", "s", "s", "s"]
网友评论