javaScript正则表达式入门

1.教科书级别概念:正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),

   可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

 (纸上得来终觉浅 啊!!!) 

2.写法

   (1). var reg=/a/;   (ps:简写的方式可以优化性能)

   (2). var reg= new RegExp("a") ; (ps:需要传入参数就可以这样写)

 附图三张:

3.方法

  (1).test:正则去匹配字符串,如果匹配成功就返回真,如果匹配失败就返回假   用法: 正则表达式.test(string)

    举起我们手中的栗子:

    var str1="12345687";

    var reg1=/\D/;  //非数字

    console.log(reg1.test(str1)) ; //false   

  (2).search: 正则去匹配字符串,如果匹配成功就返回匹配成功的位置,匹配失败返回-1  用法:string.search(正则表达式)

   栗子:

         var str2="abf";

     var reg2=/B/i;

   console.log(str2.search(reg2)); // 1

  (3).match:正则去匹配字符串,如果匹配成功就返回匹配成功的数组,匹配失败返回null  用法:string.match(正则表达式)

          栗子:

     var str3="dhaidha141frjn5515405";

   var reg3=/\d/g; //正则匹配成功就会结束,不会继续匹配;如果想全部查找,就要加标识 g(全局匹配)   \d 代表的是匹配数字

   console.log(str3.match(reg3)); // ["1", "4", "1", "5", "5", "1", "5", "4", "0", "5"]  ps:匹配成功,就返回匹配成功的数组  匹配失败就返回null

  (4).replace:正则去匹配字符串,匹配成功的字符去替换成新字符

   var str4="aaacc";

   var reg4=/a+/g;

   console.log(str4.replace(reg4,"b")); //bcc 

 4.这里说几个基础语法,以方便我们更好的和正则表达式沟通  哈哈哈

  (1)  * , +, ? 

  栗子:

  var str="abbbbb";

  var res=/ab*/; //表示一个字符串有一个字母a后面跟着零个或者若干个b  (0 or 若干)

      var res=/ab+/; //表示一个字符串有一个字母a后面跟着至少一个或者若干个b (1 or 若干)

  var res=/ab?/; //表示一个字符串有一个字母a后边跟着零个或者一个b  (0 or 1)

  var res=/a?b+$/; //表示一个字符串的结尾有零个或者一个a后面跟着至少一个或者若干个b 如 abbbbc  

  (2) { } 代表范围

    var str="abb";

    var res=/ab{2}/; //表示有一个字符串有一个字母a后面跟着2个b

        var str0="abbbbbb";

    var res=/ab{3,}/; //表示一个字符串有一个字母a后面跟着至少3个或者更多个b

    var res=/ab{1,5}/; //表示一个字符串有一个字母a后面跟着至少1~5个b

  (3) [ ] 方括号表示某些字符允许在一个字符串中的某一特定位置出现

       var str="15228";

     var res=/[0-9]/; //一个字符串是0-9之间的数字

     

     var str1="a14545dajhfa";

     var res=/^[a-zA-Z]/; //一个字符串以字母开头的   

      

   今天的正则表达式入门先到这里,我们下期见~~~

   

     

     

    

猜你喜欢

转载自www.cnblogs.com/shimeng123/p/9264421.html