JS正则表达式学习(一)

来源:互联网 发布:手机淘宝哪里看等级 编辑:程序博客网 时间:2024/06/11 16:50

<html>
<head>
<title>正则表达式学习(1)</title>
<script type="text/javascript">
    var re;
    var str = "hello world !";
    /**
     * RegExp是一个对象
     * 正则表达式创建方式1
     * var re = new RegExp("abc");
     * test方法,测试字符串,如果字符串符合模式则返回true,否则返回false
     */
    //re = new RegExp("abc");//测试字符串中是否严格包含abc
    //alert(re.test("abcdafsdfd"));//true
    //alert(re.test("aBcdafsdfd"));//false
    /**
     * re = new RegExp("模式字符串","标志");
     * 其中模式字符串表示要匹配的内容
     * 标志是匹配时的可选参数:
     * i表示忽略大小写
     * g表示全文查找
     * m表示多行查找
     */
    //re = new RegExp("abc","i");//测试字符串中是否包含abc,可忽略大小写
    //alert(re.test("aBcdafsdfd"));//输出true
    //alert(re.test("abcdafsdfd"));//输出true
    /**
     * 正则表达式的另一种简便的创建方式
     * 字面量声明方式:
     * /模式字符串/标志
     */
    //re = /abc/;//与re=new RegExp("abc")效果相同
    //alert(re.test("abcdafsdfd"));//true
    //alert(re.test("aBcdafsdfd"));//false
    //var re = /abc/i;////与re=new RegExp("abc","i")效果相同
    //alert(re.test("abcdafsdfd"));//true
    //alert(re.test("aBcdafsdfd"));//true

    /**
     * 脱字符(^)表示代表字符开始位置
     * 即字符串必须以abc开头,否则返回false
     */
    //re = /^abc/i;//脱字符(^)表示代表字符开始位置
    //alert(re.test("abcdafdsfwe"));//true
    //alert(re.test("abdafdsfwe"));//false
    //alert(re.test(" abcdafdsfwe"));//false
    /**
     * /s匹配任何空白字符串,包括空格、制表符、换页符等
     */
    //re = //s/;
    //alert(re.test(str));//true
    //alert(re.test("asfasdfa"));//false
    /**
     * [a-z]匹配任意一个小写英文字符
     * [a-zA-Z]匹配任意英文字符
     * [a-zA-Z0-9]匹配任意英文字符和数字字符
     */
     //re = /[a-z]/;
     //alert(re.test(str));//true
     //alert(re.test("ABC"));false
     //alert(re.test("AbC"));//true
     //re = /[a-z][0-9]/;
     /**
     * [a-z]匹配任意一个小写英文字符
     * [a-zA-Z]匹配任意英文字符
     * /w等价于[a-zA-Z0-9_]匹配任意英文字符和数字字符,包括下划线
     * /d等价于[0-9]
     */
     //re = //w/
     //alert(re.test("afd_faer"));
     /**
      * +表示出现多次,但至少出现1次
      * *表示出现0次或多次
      * $表示结尾字符
      */
      //如下正则表达式 re = /^[a-z]*/s+/d+$/i;
      //表示测试必须以字符开头(字符可以不出现),
      //然后是一个或多个空格,
      //最后以一个或多个数字结尾
      //re = /^[a-z]*/s+/d+$/i;
      //alert(re.test("abc 123"));//true
      //alert(re.test(" 123"));//true
      //alert(re.test("123"));//false
      //alert(re.test("a123"));//false
      //alert(re.test("a     1"));//true
    //alert(re.test("a 1a"));//false
   /**
      * exec方法返回匹配正则表达式的一个字符数组
      */
    //re = /^[a-z]+/s+/d+$/i;
    //str = "Windows 7";
    //alert(re.exec(str));//Windows 7
   /**
      * ()表示分组
      */ 
    //re = /^([a-z]+)/s+(/d+)$/i;
    //str = "Windows 7";
    //alert(re.exec(str));//Windows 7, Windows, 7
    //alert(re.exec(str)[0]);//与整个正则表达式匹配的字符串Windows 7,
    //alert(re.exec(str)[1]);//第一个分组Windows
    //alert(re.exec(str)[2]);//第二个分组7
    //alert("系统名称:"+ re.exec(str)[1] + "   版本号:" + re.exec(str)[2]);
    //re = /([a-z]+)/s+(/d+)/i;
    //str = "-------Windows 7--------------";
    //alert("系统名称:"+ re.exec(str)[1] + "   版本号:" + re.exec(str)[2]);
</script>
<style type="text/css">
</style>
</head>
<body>
    <h1>正则表达式学习(1)</h1>
</body>
</html>

原创粉丝点击