正则表达式

正则表达式

正则表达式是一段特殊的字符串,这段字符串用于描述一段字符串的格式。通过正则表达式可以校验另外一个字符串是否满足特定格式。

1、正则表达式的创建

var reg=new RegExp(正则表达式);

或者

var reg=/^正则表达式$/;

在编写正则表达式时,内容左右添加^正则$表示完全匹配。否则就是包含匹配。

2、正则表达式的书写语法

[]:限制字符串的字符取值范围,[a]只能是a和直接a意义相同,[a-z]可以包含所有的小写英文字母,[A-Z]所有的大写字母,[0-9是所有的数字]

[A-z]表示所有的英文字母,多个范围可以一起叠加使用,[A-z0-9_@]可以由音文字母+数字+下划线+@符号组成。

{}:限制大括号前面的这一段格式对应的长度,{1}长度只能为1,{3,}长度从3到正无穷,{3,100}就是长度在3-100之间。

元字符:在正则表达式中有一些字母具备特殊的含义,这些字符被称为元字符

\w 所有的字母、下划线、数字

\W	所有的非字母、下划线、数字等同于[^A-z0-9_]

\d 所有数字

\D 所有非数字 [^0-9]

. 表示所有字符

\s所有空白字符

\S表示非空白字符

量词:

+表示长度至少包含1个 等同于{1,}

*表示任意长度{0,}

?表示0-1个字符{0,1}

3、正则表达式常用方式

  • 校验

    通过正则表达式判断一个字符串是否满足正则表达式的格式

    var reg=new RegExp([A-z0-9_]{6,16});
    var account="12A3a_g";
    var b=reg.test(account);
    
  • 替换

    字符串中的replaceAll(字符串A,字符串B) 将字符串中的所有字符串A替换为字符串B,但是不支持正则

    字符串中的replace方法支持通过正则来完成替换,只要满足正则表达式的格式就会被替换。

    var text="abcAy123GG";
    var reg=new RegExp([a-z]{1});
    var newText=text.replace(reg,"0");
    //目的是将字符串text中的所有字母全部替换为数字0
    //使用上述做法,只会把第一个英文字母替换为0,如果要全部替换需要在创建正则表达式时带入第二个参数 "g" ,表示全局匹配
    //改为:
    var text="abcAy123GG";
    var reg=new RegExp([a-z]{1},"g");
    var newText=text.replace(reg,"0");
    
    //除了参数g之外还可以传入参数i 传入参数i表示在匹配时忽略英文字母的大小写,如果要同时开启这两个功能参数写作 "ig"。
    var text="abcAy123GG";
    var reg=new RegExp([a-z]{1},"gi");
    var newText=text.replace(reg,"0");//所有的英文字母无论大小写全部会被替换为0
    
    

你可能感兴趣的:(正则表达式,javascript,开发语言)