正则式(二)
发布时间:2020-12-14 01:12:54 所属栏目:百科 来源:网络整理
导读:继续上篇分享. /*使用分组模式匹配*/var pattern =/8(.*)8/;//获取8..8之间的任意字符var str = 'goo8gle8';str.match(pattern);alert(RegExp.$1);//gle,得到第一个分组里的字符串内容 var pattern =/8(.*)8/;//获取8..8之间的任意字符var str = 'goo8gle8';
继续上篇分享.
/*使用分组模式匹配*/ var pattern =/8(.*)8/;//获取8..8之间的任意字符 var str = 'goo8gle8'; str.match(pattern); alert(RegExp.$1);//gle,得到第一个分组里的字符串内容 var pattern =/8(.*)8/;//获取8..8之间的任意字符 var str = 'goo8gle8'; var result =str.replace(pattern,'<strong>$1</strong>');//得到替换的字符串输出 document.write(result); 运行结果: var pattern =/(.*)s(.*)/; var str = 'google baidu'; var result =str.replace(pattern,'$2 $1');//将两个分组的值替换输出document.write(result); 运行结果: 贪婪和惰性 /*关于贪婪和惰性*/ var pattern =/[a-z]+?/;//?关闭了贪婪匹配,只替换了一个 var str = 'abcdefjh'; var result =str.replace(pattern,'xxx'); alert(result); 运行结果: varpattern = /8(.+?)8/;//禁止了贪婪,开启的全局(另一种禁止贪婪/8([^8]*)8/) var str ='a8b8c8d8e8fjh'; var result =str.replace(pattern,'<strong>$1</strong>'); document.write(result); 运行结果: /*使用exec返回数组*/ var pattern =/^[a-z]+s[0-9]{4}$/i;//行首至行尾匹配 var str = 'google 2015'; alert(pattern.exec(str));//返回整个字符串 var pattern =/^[a-z]+/i;//只匹配字母 var str = 'google 2015'; alert(pattern.exec(str));//返回google var pattern =/^([a-z]+)s([0-9]{4})$/i;//使用分组 var str = 'google 2015'; alert(pattern.exec(str)[0]);//返回google2015 alert(pattern.exec(str)[1]);//返回google alert(pattern.exec(str)[2]);//返回2015 /*捕获性分组和非捕获性分组*/ var pattern =/(d+)([a-z]+)/;//捕获性分组 var str = '2015google'; alert(pattern.exec(str)); 运行结果: var pattern =/(d+)(?:[a-z])/;//非捕获性分组 var str = '2015google'; alert(pattern.exec(str)); 运行结果: /*使用分组嵌套*/ var pattern =/(A?(B?(C?)))/;//从外往内获取 var str = 'ABC'; alert(pattern.exec(str)); 运行结果: /*使用前瞻捕获*/ var pattern =/(goo(?=gle))/;//goo后面必须跟着gle才能捕获 var str = 'google'; alert(pattern.exec(str));//goo,goo /*使用特殊字符匹配*/ var pattern =/.[/b]/;//特殊字符,用符号转义即可 var str = '.[/b]'; alert(pattern.exec(str));//.[/b] /*使用换行模式*/ var pattern =/^d+/mg;//启用换行模式 var str ='1.baidun2.googlen3.bing'; var result =str.replace(pattern,'#');//1/2/3用'#'替换 alert(result); 运行结果: 常用正则 /*检查邮政编码*/ var pattern =/[1-9][0-9]{5}/;//共6位数字,第一位不能为0 var str = '165000'; alert(pattern.test(str));//true /*检查文件压缩包*/ var pattern =/[w]+.zip|rar|gz/;//w所有数字和字母和_ var str = '123.gz'; alert(pattern.test(str));//true /*删除多余空格*/ var pattern = /s/g; var str = '1 2 3'; var result =str.replace(pattern,''); alert(result);//123 /*删除首尾空格*/ var pattern =/^s+/g;//强制首 var str = ' 1 2 3 '; var result =str.replace(pattern,''); pattern = /s+$/;//强制尾 result =result.replace(pattern,''); alert('|'+ result+'|');//123 运行结果(强制首/强制尾): /*简单的电子邮件验证*/ var pattern =/^([a-zA-Z0-9_.]+)@([a-zA-Z0-9_.]+).([a-zA-Z]{2,4})/; var str ='yc60.com@gmail.com'; alert(pattern.test(str));//true (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |