zoukankan      html  css  js  c++  java
  • js Regex match, exec, test & jquery plugin, visit the official website!

    http://plugins.jquery.com/?s=bootstrap

    1. /reg/.test(strval)

    2."strval".match(/reg/g), a reverse style of reg.exec, but when whether with g, exec result showed no difference.

    . with g, match as a whole, result: strval

    . without g, get all groups, result whole, group1,group2...

    function matchDemo(){  
       var s;  
       //该表达式分了三个组:d(b+)(d)、(b+)、(d)这个三个组(实际上是四个组,包括本身所有的表达式)  
       //从最左边数第一个括号为第一个组,第二个括号为第二组,以此类推,分别对应的值为RegExp.$1和RegExp.$2的值  
       var re = new RegExp("(d(b+)(d))","ig");  
       var str = "cdbBdbsbdbdz";  
       //exec()返回的值是符合表达式查找出来的一个数组  
       var arr = re.exec(str);  
       //符合d(b+)(d)这个表达式返回的值  
       s = "$1 contains: " + RegExp.$1 + ", RegExp.$1 : " + RegExp.$1.length + "
    ";  
       //符合(b+)这个表达式返回的值  
       s += "$2 contains: " + RegExp.$2 + ", RegExp.$2 : " + RegExp.$2 + "
    ";  
       //符合(d)这个表达式返回的值  
       s += "$3 contains: " + RegExp.$3 + ", RegExp.$3 : " + RegExp.$3;  
       //得到匹配字符串最后一个字符在字符串中的位置,也就是下次匹配开始位置  
       alert(RegExp.lastIndex);  
       //如果存在值,则返回的是最后一个分组的结果(返回任何正则表达式查找过程中最后括的子匹配)  
       alert(RegExp.lastParen);  
       //得到最后匹配的字符串(返回任何正则表达式搜索过程中的最后匹配的字符)  
       alert(RegExp.lastMatch);  
       //leftContext + lastMatch + rightContext == context  
       alert(RegExp.leftContext);  
       alert(RegExp.rightContext);  
       //得到的结果为第二个分组的结果  
       alert(RegExp.$2);  
       return(s);  
    }  
    alert(matchDemo());  
    

      

    function matchDemo2(){  
       var s,temp;  
       //该结果分为两个组(b+)、(d),当然还包括全部(d(b+)(d))为默认的组  
       var re = new RegExp("d(b+)(d)","ig");  
       var str = "cdbBdbsbdbdz";  
       //arr的结果包括三个组(包括全部的模式)返回的结果  
       //dbBd、bB、d和dbd、b、d这两个模式匹配,而第二个和第三个数组实际上就是在第一个的基础上匹配(b+)、(d)这两个模式  
       //也就是说分组是在全匹配的模式下再进行匹配,起到"筛选"的功能  
       while((arr = re.exec(str)) != null)  
       {  
           alert(arr);  
           temp = "$1 contains: " + RegExp.$1 + ", RegExp.$1.length : " + RegExp.$1.length + ",RegExp.$1.lastIndex:" + RegExp.$1.lastIndex;   
           alert(temp);  
           //$2属性表示的是匹配第二个分组,即(d)这个模式  
           s = "$2 contains: " + RegExp.$2 + ", RegExp.$2.length : " + RegExp.$2.length;  
           alert(s);  
       }  
          
    }  
    matchDemo2(); 
  • 相关阅读:
    declare set声明注意
    Winform 的dadagridview控件的修改操作
    VS2010,VS2008,VS2005;工程之间的转换
    C#程序跨平台?
    上网黑色护眼,设置浏览器黑色风格
    AutoCompleteSource从文件里读取自动填充内容
    两个checkbox的控件控制操作只能选其一
    《博客园精华集CLR/C#分册》第三轮筛选结果 转载
    TransactSQL 示例 查询某个数据库内的所有表的记录行数及其总和
    EF 4.1中内部经常提交的 exec sp_reset_connection 的用途原来是为了重用池中的连接
  • 原文地址:https://www.cnblogs.com/hualiu0/p/5237578.html
Copyright © 2011-2022 走看看