javascript学习笔记(十二)RegExp类型介绍
2023-06-13 09:14:34 时间
1.匹配模式标记:
g------表示全局模式,而不是发现第一个匹配成功就立刻结束
i-------表示不区分大小写模式
m-----表示多行匹配,一行结束时向下一行继续匹配
复制代码代码如下:
g------表示全局模式,而不是发现第一个匹配成功就立刻结束
i-------表示不区分大小写模式
m-----表示多行匹配,一行结束时向下一行继续匹配
//匹配第一个bat或cat,不区分大小写
varpattern1=/[bc]at/i
varpattern2=newRegExp("[bc]at","i");//同上
使用RegEXp是字面量模式要转换成字符串
/\[bc\]at/=======>"\\[bc\\]at"
/\.at/==========>"\\.at"
/name\/age/======>"name\\/age"
/\d.\d{1,2}/======>"\\d.\\d{1,2}"
/\w\\hello\\123/====>"\\w\\\\hello\\\\123
2.RegExp实例属性
global——布尔值,表示是否设置了g标志
ignoreCase——布尔值,表示是否设置了i标志
multiline——布尔值,表示是否设置了m标志
lastIndex——整数,表示开始搜索下一个匹配项的位置
source——字面量形式的字符串
varpattern2=newRegExp("\\[bc\\]at","i");
alert(pattern2.source);//"\[bc\]at"
3.RegExp实例方法
exec()方法接受一个参数,即应用正则表达式的字符串,
返回数组和两个属性index和input,数组第一项是与整个模式匹配的字符串,其他项是与模式中的捕获组匹配的字符串
vartext"momanddatandbaby";
varpattern=/mom(anddad(andbaby)?)?/gi;
varmatches=pattern.exec(text);
alert(matches.index);//0
alert(matches.input);//"momanddadandbaby"
alert(matches[0]);//"momanddadandbaby"
alert(matches[1]);//"anddadandbaby"
alert(matches[2]);//"andbaby"
非全局模式时每次调用exec()返回的都是第一次匹配的项
全局模式时每次调用ecec()返回字符串的下一个匹配项,lastIndex的值会增加
test()方法接受一个参数,即应用正则表达式的字符串,匹配返回true否则返回false
vartext="000-00-0000";
varpattern=/\d{3}-\d{2}-\d{4}/;
if(pattern.test(test)){
alert("匹配!");
}
4.RegExp构造函数属性
vartext="thishasbeenashortsummer";
varpattern=/(.)host/g;
if(pattern.test(text)){
alert(RegExp.input);//thishasbeenashortsummer最近一次要匹配的字符串,等价于RegExp.$_,opera不支持
alert(RegExp.lastMatch);//short最近一次的匹配项,等价于RegExp["$&"],opera不支持
alert(RegExp.lastParen);//s最近一次匹配的捕获组,等价于RegExp["$+"],opera不支持
alert(RegExp.leftContext);//thishasbeena匹配项前的文本,等价于RegExp["$`"]
alert(RegExp.rightContext);//summer匹配项后的文本,等价于RegExp["$‘"],
alert(RegExp.multiline);//false是不是多行模式,等价于RegExp["$*"],opera和IE都不支持
}
RegExp.$1……RegExp.$9存储捕获组
vartext="thishasbeenashortsummer";
varpattern=/(..)or(.)/g;
if(pattern.test(text)){
alert(RegExp.$1);//sh
alert(RegExp.$2);//t
}
相关文章
- JavaScript笔记(3)
- JavaScript笔记(12)之事件基础
- JavaScript学习笔记1
- 关于Java&JavaScript中(伪)Stream式API对比的一些笔记
- iOS开发笔记 – Objective-C和JavaScript的混编详解手机开发
- 《JavaScript DOM编程艺术》学习笔记(一)详解编程语言
- 《代码英雄》第三季(3):创造 JavaScript
- javascript优先加载笔记代码
- Javascript学习笔记2函数
- Javascript学习笔记7原型链的原理
- JavaScript学习笔记(十五)
- Javascript学习笔记-详解in运算符
- javascript权威指南学习笔记之变量作用域分享
- javascript学习笔记(三)String字符串类型介绍
- javascript学习笔记(四)Number数字类型
- javascript学习笔记(十一)正则表达式介绍
- javascript学习笔记(十七)检测浏览器插件代码
- JavaScript高级程序设计阅读笔记(十三)js定义类或对象
- javascript简单性能问题及学习笔记
- JavaScript学习笔记之语句
- JavaScript学习笔记之JS函数