JS学习笔记5 正则表达式
来源:互联网 发布:弱光子 知乎 编辑:程序博客网 时间:2024/05/01 15:07
第7章 正则表达式
--JAVASCRIPT 内置支持正则表达式已经很久了,甚至要久于一些高级语言,如JAVA.
定义:
var reCat = new RegExp("cat","gi");
var reCat = /Cat/gi;
简单模式:
元字符: +*/ ([]{}) /^$
转义: var reQMark = //?/;
var reQMark = new RegExp("//?");
字符类:用于测试字符的组合
1 简单类: /[bcf]at/gi;
2 负向类: [^bc]at;
3 范围类: [a-z];
4 组合类: [A-M1-4/n]
5 预定义类:
.
/d ,/D
/s ,/S
/w ,/W
量词:指定特定模式出现的次数
1 简单量词: ? * + {n} {n,m} {n,}
2 贪婪的/惰性的/支配性的量词: */*?/*+
分组:通过一系统括号包围一系列字符,字符类以及量词来使用的
var reDog = /(Dog){2}/g;
var re = /(mom( and dad)?)/;
反向引用:存储在分组里面的特殊值
var s = "#123456";
var re = /#(/d+)/;
alert(re.test(s));
alert(RegExp.$1);
候选:
var s1 = "red";
var s2 = "blue";
var re = /(red|blue)/;
alert(re.test(s1));
alert(re.test(s2));
非捕获性分组:创建反向引用 的分组,称之为捕获性分组.还有一种非捕获性分组,不会创
建反向引用.
前瞻(lookahead):告诉正则表达式向前看而不移动其位置.
var s3 = "bedroom";
var s4 = "bedding";
var re = /(bed(?=room))/;
alert(re.text(s3));
alert(re.text(s4));
alert(RegExp.$1);
var s3 = "bedroom";
var s4 = "bedding";
var re = /(bed(?!room))/;
alert(re.text(s3));
alert(re.text(s4));
alert(RegExp.$1);
边界:^ $ /b /B
var s = "Important word is the last one.";
var re = /(/w+)/.$/;
alert(re.test(s));
alert(RegExp.$1);
var s1 = "first second third fourth fifth sixth"
var re1 = /(/w+)/g;
var aWords = s1.match(re1);
for(i=0;i<aWords.length;i++){
document.write(aWords[i]);
}
多行模式:var re1 = /(/w+)$/gm;
var s1 = "first second/nthird fourth/nfifth sixth"
var re1 = /(/w+)$/gm;
var aWords = s1.match(re1);
for(i=0;i<aWords.length;i++){
document.write(aWords[i]);
}
- JS学习笔记5 正则表达式
- js 正则表达式学习笔记
- js 正则表达式 学习笔记
- 【JS学习笔记】正则表达式
- js正则表达式学习笔记
- js正则表达式学习笔记
- 【js学习笔记-061】正则表达式
- JS正则表达式——学习笔记
- JS学习笔记(12)正则表达式
- js正则表达式笔记
- js正则表达式学习
- js正则表达式学习
- 学习js正则表达式
- JS学习-正则表达式
- 正则表达式学习笔记
- 正则表达式学习笔记
- 正则表达式学习笔记
- 正则表达式学习笔记
- ubuntu日记4
- 添加应用程序快捷方式
- 掩码格式化文本框
- 彻底了解明白Java的IO系统
- Windows Debuging Tools 6.8.4.0
- JS学习笔记5 正则表达式
- windowadapter()的用法
- 10月20 2007 晴天
- 国内第一款“专业”的个人知识管理软件工具正式推出
- 员工为何知而不言
- [转载]菜鸟必看的基础东西
- IPTABLE 笔记
- 数据库范式
- IT十大最尴尬瞬间