网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > 正则表达式 > 正文

javascript高级程序设计(第三版)学习笔记(一)正则表达式整理

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
b/g;//非贪婪
document.write(re3.test("abbbaabbb1234")+"<br />");//true
document.write(re3.exec("abbbaabbb1234")+"<br />");//null ,因为设置了g标识,并为贪婪匹配,而上面的test已经贪婪匹配到abbbaabbb,后面只有1234,所以此时匹配不到,返回null
document.write("abbbaabbb1234".match(re3)+"<hr>");//abbbaabbb,注意在设置了g标识后,match只返回匹配到的所有值,这里因为是贪婪匹配,所以匹配了abbbaabbb
document.write(re4.test("abbbaabbb1234")+"<br />");//true
document.write(re4.exec("abbbaabbb1234")+"<br />");//aabbb,aa ,因为设置了g标识,并为非贪婪匹配,而上面的test已经贪婪匹配到abbb,后面只有aabbb1234,所以此时在此匹配到aabbb,此时$1为aa,所以返回aabbb,aa
document.write("abbbaabbb1234".match(re4)+"<hr>");//abbb,aabbb 注意在设置了g标识后,match只返回匹配到的所有值,这里因为是非贪婪匹配,所以匹配了abbb,aabbb

10、反向引用
正则表达式中的匹配组捕获的子字符串。每个反向引用都由一个编号或名称来标识,并通过“\编号”表示法进行引用。
复制代码 代码如下:
/(\w+)/.test("hello-world");
dwl(RegExp.$1);//hello
dwl(/(居)\1/.test("居居"))//true 这里的\1表示第一个小括号里面的内容
dwl("aa bbb cccc".replace(/(\w{2,}) (\w{2,}) (\w{2,})/,"$3 $2 $1")); // cccc bbb aa

11、非捕获性分组 ?:
并不是每个小括号都能通过反向引用进行捕获,在小括号后面加上"?:",即可进行设置非捕获性分组。
复制代码 代码如下:
/(\w+)-(\w+)/.test("hello-world");
alert(RegExp.$0);//undefined
alert(RegExp.$1);//""不会被捕获
alert(RegExp.$2);//world

12、正向前瞻 ?= 和负向前瞻 ?!
(?=str) 匹配后面紧跟是str,比如 he 能够通过模式 /he(?=llo)/ 匹配 字符串 "hello"
(?!str) 匹配后面紧跟不是str,比如 hel 能够通过模式 /he(?!llo)/ 匹配 字符串 "hello"
复制代码 代码如下:
//这样理解,将(?=str)或者(?!str)当做条件,然后考虑匹配其他的部分,匹配到了之后,再拿条件作对比,看符不符合
dwl("he-lloworld".match(/(\w+)(?=world)/g)); //llo 这里先匹配(\w+),找到两个块,he和lloworld,其中he不符合(?=world),而lloworld,只要拆成llo和world连接,就符合(?=world),即,llo链接了一个world,所以这里匹配了llo
dwl("he-lloworld".match(/(\w+)(?!world)/g)); //he,lloworld 这里先匹配(\w+),找到两个块,he和lloworld,其中he不符合(?=world),而lloworld,只要不拆,就符合(?!world),即,llo链接了一个world,所以这里匹配了he,lloworld

13、出几个实例题目?
a、讲一个字符串中的所有英文单词首字母大写?
复制代码 代码如下:
var str = "你好hello世界woRld,我i爱love你you";
var str = str.toLowerCase().replace(/\b\w|\s\w/g,function(s){
return s.toUpperCase();
});
alert(str)

b、去除html代码中的所有标签,除了a标签
复制代码 代码如下:
var str = "<p><a href=''http://www.jb51.net/''>居居居居居居居居居</a ></p><hr/><p> by <em>居居居居居居居居居</em></p>";
var str = str.replace(/<(?!(\/?a))(.|\s)*?>/g,""); // 这里用到了 负前瞻
alert(str); // <a href=''http://www.jb51.net/''>居居居居居居居居居</a > by 居居居居居居居居居

下一节讲一下,常用的正则表达式,整理总结~~~!!!!!楼主喝口水,这么点东西写了快一天。。。
设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师