最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

javascript正则表达式之分组概念与用法实例

来源:动视网 责编:小采 时间:2020-11-27 20:26:14
文档

javascript正则表达式之分组概念与用法实例

javascript正则表达式之分组概念与用法实例:本文实例讲述了javascript正则表达式之分组概念与用法。分享给大家供大家参考,具体如下:function matchDemo(){ var s; //该表达式分了三个组:d(b+)(d)、(b+)、(d)这个三个组(实际上是四个组,包括本身所有的表达式) //从最左边数第一个括号为第一个组
推荐度:
导读javascript正则表达式之分组概念与用法实例:本文实例讲述了javascript正则表达式之分组概念与用法。分享给大家供大家参考,具体如下:function matchDemo(){ var s; //该表达式分了三个组:d(b+)(d)、(b+)、(d)这个三个组(实际上是四个组,包括本身所有的表达式) //从最左边数第一个括号为第一个组


本文实例讲述了javascript正则表达式之分组概念与用法。分享给大家供大家参考,具体如下:

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 + "\n";
 //符合(b+)这个表达式返回的值
 s += "$2 contains: " + RegExp.$2 + ", RegExp.$2 : " + RegExp.$2 + "\n";
 //符合(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();

希望本文所述对大家JavaScript程序设计有所帮助。

更多javascript正则表达式之分组概念与用法实例相关文章请关注PHP中文网!

文档

javascript正则表达式之分组概念与用法实例

javascript正则表达式之分组概念与用法实例:本文实例讲述了javascript正则表达式之分组概念与用法。分享给大家供大家参考,具体如下:function matchDemo(){ var s; //该表达式分了三个组:d(b+)(d)、(b+)、(d)这个三个组(实际上是四个组,包括本身所有的表达式) //从最左边数第一个括号为第一个组
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top