正则表达式基本语法

来源:互联网 发布:对云计算的理解ibm 编辑:程序博客网 时间:2024/05/27 19:27
/** * Created by linyaokui on 17/3/13. */// var reg = new RegExp("","igm");// var reg1 = new RegExp("");//// var reg2 = //igm;  i不区分大小写  g全局匹配(取出所有匹配出的值)  m多行匹配// var reg = new RegExp("hello");//// var str = "hello world";// var result = reg.exec(str); //返回数组对象// alert(result);//// var reg1 = /helloaa/;// alert(reg1.test(str)); //返回boolean// var reg = /Hello/ig;// var str = "hello world ,hello Kitty";// var he = str.match(reg); //匹配出可以匹配的结果  返回数组// alert(he);// var reg = /hello/ig;// var str = "hello world ,Hello Kitty";// var he = str.search(reg); //返回第一个匹配的位置  g就没有用了// alert(he);// var reg = /hello/ig;// var str = "hello world ,Hello Kitty";// var he = str.replace(reg,"wo"); // 将第二个参数替换成正则所匹配的字符串  默认只替换第一个// alert(he);// var reg = /,/;// var str = "hello world ,Hello Kitty";// var he = str.split(reg); // 按照正则去切割字符串 返回是数组// alert(he);//. :代表任意字符 换行除外// var reg  = /b..k/;// var str = "books";// alert(reg.test(str));//? :出现0次或者1次,  *:出现0次或多次   +:出现1次或多次// var reg  = /bo*k/;// var str = "books";// alert(reg.test(str));// var reg  = /bo+k/;// var str = "bks";// alert(reg.test(str));// var reg  = /bo?k/;// var str = "bks";// alert(reg.test(str));// {m,n} :至少出现m次,最多出现n次 {m,}:至少出现m次  {m}:正好出现m次// var reg  = /bo{2,4}k/;// var str = "books";// alert(reg.test(str));//[]:限定某一位上的取值范围 [^]:限定某一位上不能取的值// var reg  = /[a-zA-Z0-9]ook/;// var str = "books";// alert(reg.test(str));// var reg  = /[^a-zA-Z0-9]ook/;// var str = "books";// alert(reg.test(str));// \d等价[0-9] \D[^0-9] \w等价[a-zA-Z0-9_] \W等价[^a-zA-Z0-9_]// var reg  = /^book$/;  //^字符串以book开头  $匹配行尾  (如果让字符串和正则的一样 就这么写)// var str = "book";// alert(reg.test(str));// \s 匹配空白字符、空格、制表符和换行符// var reg  = /bo\sk/;// var str = "bo k";// alert(reg.test(str));// | this|where|logo  匹配this或where或logo  |或者的意思// var reg  = /book|java|me/;// var str = "book";// alert(reg.test(str));//()分组  一组的可以看做一个整体// var reg  = /(javascript){2,4}/;// var str = "study javascriptjavascript";// alert(reg.test(str))// alert(RegExp.$1);//()分组  通过分组替换前后两个值// var reg  = /(.*)\s(.*)/;// var str = "hello word";// alert(reg.test(str))// alert(str.replace(reg,'$2 $1'));// 贪婪:?* + {m,n} {m,} {n} 取最大匹配的字符串// 惰性:?? *? +? {m,n}? {m,}? {m}?  取最小匹配的字符串// var reg  = /6(.*?)6/g;// var str = "hello 6hello6 6hello6 6hello6";// alert(str.replace(reg,'$1'));//捕获性分组// var reg = /([a-z]+)\s(\d{4})/g;// var str = "hell 2017 hell 2017 hell 2017 hell 2017 hell 2017";// alert(reg.exec(str));//非捕获性分组 ?:// var reg = /([a-z]+)\s(?:\d{4})/;// var str = "hell 2017 hell 2017 hell 2017";// alert(reg.exec(str));//前瞻捕获 ?=// var reg = /[a-z]+(?=gle)/;// var str = "fdskjkgle";// alert(reg.exec(str));//换行模式// var reg=/^\d+/gm;// var str = "1、baidu\n2google\n3hha";// alert(str.replace(reg,"#"));//验证手机号// var reg = /^1[3578]\d{9}$/;// var phone = "13578947895";// alert(reg.test(phone));//把手机中间的4位换成星号// var reg = /^(1[3578]\d)(\d{4})(\d{4})$/;// var phone = "13845678945";// var ss =  phone.replace(reg,"$1****$3");// alert(ss);//验证是否为压缩文件// var reg = /\w+\.(rar|zip|gz)/;// var file = "xx.zip";// alert(reg.test(file));//验证一个邮箱// var reg = /^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9_\.\-]+\.[a-zA-Z]+$/;// var email = "xioaming.ff@163.com";// alert(reg.test(email));
原创粉丝点击