VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 网站开发 > JavaScript >
  • JavaScript教程之js的正则表达式(3)

re.exec(str); console.log(re.lastIndex);//0

案例5 RegExp对象的静态属性

//input 最后用于匹配的字符串(传递给test,exec方法的字符串)  
var re = /[A-Z]/;  
var str = "Hello,World!!!";  
var arr = re.exec(str);  
console.log(RegExp.input);//Hello,World!!!  
re.exec("tempstr");  
console.log(RegExp.input);//仍然是Hello,World!!!,因为tempstr不匹配  
//lastMatch 最后匹配的字符  
re = /[a-z]/g;  
str = "hi";  
re.test(str);  
console.log(RegExp.lastMatch);//h  
re.test(str);  
console.log(RegExp["$&"]);//i  ,$&是lastMatch的短名字,但由于它不是合法变量名,所以要。。  
//lastParen 最后匹配的分组  
re = /[a-z](\d+)/gi;  
str = "Class1 Class2 Class3";  
re.test(str);  
console.log(RegExp.lastParen);//1  
re.test(str);  
console.log(RegExp["$+"]);//2  
//leftContext  返回被查找的字符串中从字符串开始位置到最后匹配之前的位置之间的字符  
//rigthContext 返回被搜索的字符串中从最后一个匹配位置开始到字符串结尾之间的字符  
re = /[A-Z]/g;  
str = "123ABC456";  
re.test(str);  
console.log(RegExp.leftContext);//123  
console.log(RegExp.rightContext);//BC456  
re.test(str);  
console.log(RegExp["$`"]);//123A  
console.log(RegExp["$'"]);//C456  

案例6 使用RegExp构造函数注意点

var str = "\?";  
console.log(str);//只会输出?  
var re = /\?/;//将匹配?  
console.log(re.test(str));//true  
re = new RegExp("\?");//出错,因为字符串里面\是转义字符\?相当于?要得到\?,就要\\? 
re = new RegExp("\\?");//正确,将匹配?  
console.log(re.test(str));//true  

在正则表达式中使用特殊字符

//ASCII方式用十六进制数来表示特殊字符  
var re = /^\x43\x4A$/;//将匹配CJ  
console.log(re.test("CJ"));//true  
//也可使用八进制方式  
re = /^\103\112$/;//将匹配CJ  
console.log(re.test("CJ"));//true  
//还可以使用Unicode编码  
re =/^\u0043\u004A$/;//使用 Unicode,必须使用u开头,接着是字符编码的四位16进制表现形式  
console.log(re.test("CJ"));


相关教程
关于我们--广告服务--免责声明--本站帮助-友情链接--版权声明--联系我们       黑ICP备07002182号