• js正则表达式


    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8" />
    <title></title>
    </head>
    <body>
    <script type="text/javascript">
    window.onload=function(){
    //正则表达式的两种创建方式
    // //第一种方法
    //
    // var box = new RegExp('box');
    // var box = new RegExp('box','gi');//第一个参数必选,第二个参数可选
    //
    // //第二种方法,字面量的方式
    // var box = /box/;
    // var box = /box/gi; //与上面的对应
    //
    //RegExp对象有两个方法
    //
    // var pattern = new RegExp('box','i');
    // var str = 'box';
    // alert(pattern.test(str));//true
    // alert(/boX/i.test(str));//true
    // alert(/box/i.test('boxjj'))//true;
    //
    // var pattern = /box/i;
    // var str = 'i am a box ~';
    // alert(pattern.exec(str))//box,返回的是数组,有的话就返回数组的值,没有的话就返回null
    // alert(typeof pattern.exec(str));//object 是一个数组类型,数组就是object


    // string 对象的正则表达式
    // 一.match方法
    // var pattern =/box/ig;
    // var str='this is a Box,that is a box';
    // alert(str.match(pattern));// Box,box 如果没有g匹配全局的话,则返回第一个 符合条件的 Box,
    ////注意这里返回的 都是 数组例如下面的
    // var a=str.match(pattern);
    // alert(a[0]) //box
    //
    //// 二.Search方法
    // var pattern = /box/ig;
    // var str = 'this is Box,that is box';
    // alert(str.search(pattern));//8第一个匹配到的位置 ,ps:从0开始包括空格,因为seach方法查找到即返回,所以无需全局
    // //如果找不到则返回 -1
    // 三、replace 方法
    // var pattren = /jack/ig;
    // var str = 'jack ,JaCk,i am jAcK';
    // alert(str.replace(pattren,'Tom'));//返回的是 Tom,Tom,i am Tom
    //如果没有全局匹配,则只会更改第一个
    //// 四/split方法
    // var pattern = / /ig;
    // var str = 'a a a';
    // alert(str.split(pattern));//a,a,a
    // alert(str.split(pattern).length)//3
    //RegExp的静态属性
    // var pattern = /google/g;
    // var str='this is google!!!';
    // pattern.test(str); //必须执行一下,静态属性才有效

    // alert(RegExp.input);//this is google;
    // alert(RegExp.leftContext);//this is ;包括空格呦
    // alert(RegExp.rightContext);//!!!;
    // alert(RegExp.lastMatch);//google没啥用,就是返回最后一个匹配到的
    // ps:这些东西都没啥用,只是作为了解一下
    //
    ////*****************元字符
    // 元字符.
    // var pattern =/g..le/;
    // var str = 'gxxle';
    // alert(pattern.test(str));//true 点符号标识匹配任意除了换行符外的字符
    //
    // 元字符*
    // var pattern = /go*le/; //表示0个,或多个 o;
    // var str = /gooogle/;
    // alert(pattern.test(str));//true
    // 元字符?
    // var pattern = /go.?le/; //表示 go与le之间存在一个 或者 0个 任意的字符
    // // var pattern = /go.{3,5}/; /表示匹配最少三个最多五个字符
    // "/go{3,}gle/表示匹配3或者3+次o,/go{3}gle/表示匹配三次o
    // var str = 'gokle';
    // alert(pattern.test(str));//true

    //、var pattern = /[a-z]oogle/;
    //[a-z]表示26个小写字母,任意一个都可以匹配、区分大小写,如需要课在后面用 i修饰符,或者[A-Z]
    //[0-9]与之类似
    // 可以写成复合形式 [a-zA-Z0-9 ] 匹配任意在 括号里面的字符
    // [^a-zA-Z0-9] 匹配 不包含任意括号里面的任意字符


    //锚字符匹配
    // var pattern =/^[0-9]oogle/; //这个^符号加载/后面表示从行首开始匹配,如果在[]里面表示非

    //var pattern = /woogle/ 就相当于 var pattern = /[a-zA-Z0-9_]oogle/
    //var pattern = /Woogle/ 就相当于 var pattern = /[^a-zA-Z0-9]oogle/
    // 详细结构如下图
    var pattern =/^[a-z]oogl[0-9]$/; //ps:^表示强制首匹配,$表示强制尾匹配
    var str='ggoogl5'; alert(pattern.test(str));//false 1
    var str1='googl55';alert(pattern.test(str1));//false 2
    var str2='googl5'; alert(pattern.test(str2));true

    //ps:上面的 1(pattern=/^[a-z]*oogle$)2(pattern = /googl[0-9]*)才能是true 这个一得得注意








    }
    </script>

    </body>
    </html>

  • 相关阅读:
    go,指针
    go ,字符串的编码及如何统计字符长度,
    go中的map,如python中的字典
    go 可变长参数的应用
    go 数组切片
    Django 模板层
    Django的路由层和视图层
    Django
    Django简介
    JQurey
  • 原文地址:https://www.cnblogs.com/zhangxiaofei/p/6762630.html
Copyright © 2020-2023  润新知