js正则表达式之RegExp对象属性lastIndex,lastMatch,lastParen,lastContext,rightContext属性讲解
1.lastIndex属性,返回匹配内容的最后一个索引位置,也就是下一个匹配的开始位置,注意字符串索引从0开始
代码:
//设置要匹配的内容
var objStr="abfdabcd";
//设置匹配的正则表达式
var re=/abc/;
//输出匹配前的字符串
document.write("未匹配前的字符串"+objStr+"
");
//输出匹配的内容
document.write("匹配的内容"+objStr.match(re)+"
");
//document.write(RegExp.index);
//输出匹配内容的最后一个索引
document.writeln("最后一个匹配位置"+RegExp.lastIndex);
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
2.lastMatch($&)属性,只读属性,如果没有匹配信息,则该属性的值为空字符串
//要匹配的字符串
var objStr="Designed By Androidyue";
//进行相关匹配的正则表达式
var re=/n(\w)/g;
//输出匹配前的字符串
document.writeln("匹配前的字符串"+objStr);
//进行字符串的匹配
var arr=objStr.match(re);
//输出最后一个子匹配的结果
document.write("最后一个子匹配的结果"+RegExp.lastMatch);//结果nd
//document.write("最后一个子匹配的结果"+RegExp.$&);//如果浏览器不支持这样形式,这样试试document.write(RegExp["$&"]);
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
3.lastParen属性 只读静态属性,该属性返回在最近一次匹配检测中所得到的最后一个子匹配的值,如果没有子匹配则返回空字符串
//要匹配的字符串
var objStr="Designed By Androidyue";
//进行相关匹配的正则表达式
var re=/n(\w)/;
//输出匹配前的字符串
document.writeln("匹配前的字符串"+objStr);
//进行字符串的匹配
var arr=objStr.match(re);
//输出最后一个子匹配的结果
document.write("最后一个子匹配的内容"+RegExp.lastParen);
//document.write("最后一个子匹配的内容"+RegExp.$+);//如果浏览器不支持这样形式,这样试试document.write(RegExp["$+"]);
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
4.leftContext属性 返回匹配内容左侧的字符信息 该属性的初始值为空字符串 ,如果有相应的匹配该属性的值就会改变
//要匹配的字符串
var objStr="Designed By Androidyue";
//进行相关匹配的正则表达式
var re=/n(\w)/;
//输出匹配前的字符串
document.writeln("匹配前的字符串"+objStr);
//进行字符串的匹配
var arr=objStr.match(re);
//输出最后一个子匹配的结果
document.write("匹配内容左侧的字符信息"+RegExp.leftContext);
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
5.rightContext属性 返回匹配内容右侧的字符信息 ,只读静态属性 初始值为空字符串,如果有匹配则返回匹配内容右侧的信息
//要匹配的字符串
var objStr="Designed By Androidyue";
//进行相关匹配的正则表达式
var re=/n(\w)/;
//输出匹配前的字符串
document.writeln("匹配前的字符串"+objStr);
//进行字符串的匹配
var arr=objStr.match(re);
//输出最后一个子匹配的结果
document.write("匹配内容右侧的字符信息"+RegExp.rightContext);
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]