js之正则表达式(1)笔记

来源:互联网 发布:物理补课软件 编辑:程序博客网 时间:2024/06/05 22:40
正则表达式而JS中的RegExp类就是用来表达正则表达式。用途:就是把能在前端干的事尽量在前端解决掉,而不浪费服务器的资源。 //对于正则表达式来说,无论采用哪一种那个申明方式,其返回的永远是其对应的字面量表示法 //var box = new RegExp('box','ig');      // 构造函数表示法   包含两个参数,第二个参数是可选的  即模式修饰符 i忽略大小写   g全局匹配   m多行匹配// alert(box);// var box2=/box1/ig;//字面量正则// alert(box2); // 测试正则表达式 //test()     查找字符串,查找成功则返回true,否则返回false      exe()  返回一个查找字符串的数组,空则返回null/*  var pattern=/box/ig; var str='Box'; alert(pattern.test(str));   alert(/box/ig.test('Box'));//一句话匹配    var pattern =/Box/ig;// 对于正则表达式来说,用test(),exec()函数是来检测str字符串中是否包含pattern表达式var str='This is a Box';alert(pattern.test(str));  var pattern =/Box/var str = 'This is a Box';alert(pattern.exec(str));     //返回搜索到的字符串的数组/* //字符串的正则表达式方法//match(pattren)   返回pattren中的子串      repalce(pattren ,repalcement);  用replacement来替换pattern//search(pattern)返回字符串pattern中的起始位置split(pattern);返回字符串按指定pattern拆分的数组/*var pattern =/Box/g;//match(pattren)   返回包含pattern的数组,注:g返回包含多个pattern的数组var str='This is a Box? That is a Box';alert(str.match(pattern));var pattern =/Box/g;//replace(pattern,replacement);   用replacement来替换pattern,带有返回值,返回替换后的字符串var str='This is a Box? That is a Box';var a=str.replace(pattern,'exe');alert(a);var pattern =/Box/g;//返回str中pattern的初始位置,查找即返回,g对其无用,找不到返回-1var str='This is a Box? That is a Box';alert(str.search(pattern));var pattern =/Box/g;//split(pattern)  将pattern来划分字符串,将字符串拆分为数组var str='This is a Box? That is a Box';alert(str.split(' '));*///正则表达式的静态属性和实例属性(创建实例后才可以使用)//静态属性/*var pattern =/google/ig;var str ='This is a google ?';pattern.test(str);//必须要先执行依一下,静态属性才可以生效alert(RegExp.input);//所匹配的正则表达式alert(RegExp.leftContext);//匹配正则表达式的左子串alert(RegExp.rightContext); //匹配正则表达式的右子串alert(RegExp.lastMatch);    //最后一个匹配到的字符串alert(RegExp.lastParen);    //最后一对圆括号里匹配到的字符串注:静态属性可以用短名来匹配//实例属性,用来检查其某些属性是否生效var pattern=/Box/ig;alert(pattern.global)//判断是否支持全局alert(pattern.ignoreCase);//判断是否支持忽略大小写alert(pattern.multiline);//判断是否支持换行alert(pattern.source);//匹配的原字符串var str='Box Box Box Box';pattern.test(str);pattern.lastIndex=100;alert(pattern.lastIndex);//用来返回上一次所匹配到的位置,并且可以手动赋值 注:不兼容*///获取控制,元字符和元符号var pattern=/Bo../ig;// .可以表示除换行以外的其他字符var str='this is a boox';alert(pattern.test(str));//truevar pattern=/Bo*x/ig;// x*表示可以匹配0,1,或多个xvar str='this is a boox';alert(pattern.test(str));//truevar pattern=/Bo+x/ig;// x+可以匹配至少一个xvar str='this is a bx';alert(pattern.test(str));//falsevar pattern=/Bo?x/ig;// x?可以表示0个或1个var str='this is a boox';alert(pattern.test(str));//falsevar pattern=/Bo{0,5}x/ig;// x{m,n}表示至少匹配m~n个x      x{m}表示只能m次     x{m,}表示大于m次    x{,n}表示要小于n次var str='this is a boooox';alert(pattern.test(str));//truevar pattern=/B[a-z]*x/ig;// [a-z]表示26个小写字母都可以任意匹配,也可以多个组合使用var str='this is a boox';alert(pattern.test(str));//true注:^表示从头来开始匹配      $表示从尾开始匹配同时使用表示要和正则完全相同  var pattern=/Bo[0-9a-z]x/ig;//多个匹配的组合var str='this is a bo1x';alert(pattern.test(str));//truevar pattern=/Bo[^0-9a-z]x/ig;//括号中加^,表示除括号内的其他字符var str='this is a bo1x';alert(pattern.test(str));//false还有一些特殊的元字符: \w 表示可以匹配大小写字母和数字及_         \W与\w相反\d表示任意的数字             \D 表示非数字

0 0
原创粉丝点击