正则表达式

//正则默认:匹配成功就会结束匹配 (如果想全部查找加标识  g),不区分大小写 (如果想区分大小写 加标识 i)

//1.test : 正则去匹配字符串,如果匹配成功返回真,匹配失败返回假;   正则.test(字符串)
//2.search : 正则去匹配字符串,如果匹配成功就返回匹配位置,否则就返回 -1;  字符串.search(正则)
//3.match : 正则去匹配字符串,如果匹配成功就返回匹配的数组,否则返回null; 字符串.match(正则)
//4.replace : 正则去匹配字符串,匹配成功的字符去替换成新的字符串; 字符串.replace(正则,新的字符串),
//第二个字符串也可以是个函数,函数的第一个参数就是匹配成功的字符

//----------------------------------------------------------------------------------

//匹配子项 : 小括号 () 还有另外一个意思分组操作
//把正则的整体叫做母亲,然后把左边第一个括号里面的正则叫做第一个子项,以此类推
var str = '2019-5-15';

var reg = /(\d+)(-)/g;

str = str.replace(reg,function($0,$1){
    //第一个参数是母亲,第二个参数是第一个子项
    console.log($0); //2019- 5-
    console.log($1); //2019 5
    return $1 + '.';
})
console.log(str); //2019.5.15

var str = 'abc';
var reg = /(a)(b)(c)/;

console.log(str.match(reg)); //[abc,a,b,c] 当match不加g的时候才会匹配到子项的集合


//-------------------------------------------------------------------------------------


//字符类 : 一组相似的元素 [] 中括号的整体代表一个字符

var str = 'abdc';

var re = /a[bde]c/;

alert( re.test(str) );  //false

//排除 : ^ 如果 ^ 写在 [] 里面的话 就代表排除的意思

//--------------------------------------------------------------------------------------

//转义字符
// . : 任意字符
//  \. : 真正的点

// \b : 独立的部分 (起始,结束,空格)
// \B : 非独立的部分

// \1 : 重复的第一个子项
// \2 : 重复的第二个子项

var reg = /\w\W/ ; //可以匹配 c9 ,只要是俩个字符都可以
var reg = /\w\1/; //只能匹配俩个相同的; aa

 

posted @ 2019-05-17 15:33  cher。  阅读(123)  评论(0编辑  收藏  举报