javascript学习笔记(十二) RegExp类型介绍


Posted in Javascript onJune 20, 2012

1.匹配模式标记:
g ------ 表示全局模式,而不是发现第一个匹配成功就立刻结束
i ------- 表示不区分大小写模式
m ----- 表示多行匹配,一行结束时向下一行继续匹配

//匹配第一个bat 或cat,不区分大小写 
var pattern1 = /[bc]at/i 
var pattern2 = new RegExp("[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 —— 字面量形式的字符串

var pattern2 = new RegExp("\\[bc\\]at","i"); 
alert(pattern2.source); //"\[bc\]at"

3.RegExp实例方法
exec()方法 接受一个参数,即应用正则表达式的字符串,
返回数组和两个属性index和input,数组第一项是与整个模式匹配的字符串,其他项是与模式中的捕获组匹配的字符串
var text "mom and dat and baby"; 
var pattern = /mom( and dad( and baby)?)?/gi; var matches = pattern.exec(text); 
alert(matches.index); //0 
alert(matches.input); //"mom and dad and baby" 
alert(matches[0]); //"mom and dad and baby" 
alert(matches[1]); //" and dad and baby" 
alert(matches[2]); //" and baby"

非全局模式时每次调用exec()返回的都是第一次匹配的项
全局模式时每次调用ecec()返回字符串的下一个匹配项,lastIndex的值会增加

test()方法 接受一个参数,即应用正则表达式的字符串,匹配返回 true 否则返回 false

var text = "000-00-0000"; 
var pattern = /\d{3}-\d{2}-\d{4}/; if (pattern.test(test)) { 
alert("匹配!"); 
}

4.RegExp 构造函数属性
var text = "this has been a short summer"; 
var pattern = /(.)host/g; if (pattern.test(text)){ 
alert(RegExp.input); //this has been a short summer 最近一次要匹配的字符串,等价于RegExp.$_ ,opera不支持 
alert(RegExp.lastMatch); //short 最近一次的匹配项,等价于RegExp["$&"] ,opera不支持 
alert(RegExp.lastParen); //s 最近一次匹配的捕获组,等价于RegExp["$+"] ,opera不支持 
alert(RegExp.leftContext); //this has been a 匹配项前的文本,等价于RegExp["$`"] 
alert(RegExp.rightContext); // summer 匹配项后的文本,等价于RegExp["$‘"] , 
alert(RegExp.multiline); //false 是不是多行模式,等价于RegExp["$*"] ,opera和IE都不支持 
}

RegExp.$1 …… RegExp.$9 存储捕获组
var text = "this has been a short summer"; 
var pattern =/(..)or(.)/g; 
if (pattern.test(text)) { 
alert(RegExp.$1); //sh 
alert(RegExp.$2); //t 
}
Javascript 相关文章推荐
js checkbox(复选框) 使用集锦
Apr 28 Javascript
extjs ColumnChart设置不同的颜色实现代码
May 17 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
Sep 06 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
Sep 09 Javascript
javascript 中的事件委托详解
Oct 25 Javascript
解析AngularJS中get请求URL出现的跨域问题
Dec 01 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
Jan 05 Javascript
JavaScript队列函数和异步执行详解
Jun 19 Javascript
angular 实时监听input框value值的变化触发函数方法
Aug 31 Javascript
JavaScript实现的开关灯泡点击切换特效示例
Jul 08 Javascript
three.js 制作动态二维码的示例代码
Jul 31 Javascript
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
Oct 05 Javascript
javascript学习笔记(十一) 正则表达式介绍
Jun 20 #Javascript
javascript学习笔记(十) js对象 继承
Jun 19 #Javascript
javascript学习笔记(九) js对象 设计模式
Jun 19 #Javascript
javascript学习笔记(八) js内置对象
Jun 19 #Javascript
javascript学习笔记(七) js函数介绍
Jun 19 #Javascript
javascript学习笔记(六) Date 日期类型
Jun 19 #Javascript
javascript学习笔记(五) Array 数组类型介绍
Jun 19 #Javascript
You might like
php 模拟POST提交的2种方法详解
2013/06/17 PHP
php利用腾讯ip分享计划获取地理位置示例分享
2014/01/20 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
Laravel定时任务的每秒执行代码
2019/10/22 PHP
jQuery实现的立体文字渐变效果
2010/05/17 Javascript
jQuery中调用WebService方法小结
2011/03/28 Javascript
Javascript window对象详解
2014/11/12 Javascript
js获取时间并实现字符串和时间戳之间的转换
2015/01/05 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
2015/04/15 Javascript
使用AngularJS实现可伸缩的页面切换的方法
2015/06/19 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
2017/06/26 jQuery
关于Vue单页面骨架屏实践记录
2017/12/13 Javascript
vue中Element-ui 输入银行账号每四位加一个空格的实现代码
2018/09/14 Javascript
Puppet的一些技巧
2018/09/17 Javascript
深入学习js函数的隐式参数 arguments 和 this
2019/06/24 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
2019/09/20 Javascript
js 获取扫码枪输入数据的方法
2020/06/10 Javascript
Vue SPA 首屏优化方案
2021/02/26 Vue.js
[16:21]教你分分钟做大人:圣堂刺客
2014/12/03 DOTA
Python实现动态图解析、合成与倒放
2018/01/18 Python
Python 实现文件打包、上传与校验的方法
2019/02/13 Python
python 将字符串完成特定的向右移动方法
2019/06/11 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
导入tensorflow时报错:cannot import name 'abs'的解决
2019/10/10 Python
德国足球商店:OUTFITTER
2019/05/06 全球购物
Electric官网:美国高级眼镜和配件品牌
2020/06/04 全球购物
硕士生工作推荐信
2014/03/07 职场文书
工厂车间标语
2014/06/19 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
2015安全保卫工作总结
2015/04/25 职场文书
社会心理学学习心得体会
2016/01/22 职场文书
SQLServer2019 数据库的基本使用之图形化界面操作的实现
2021/04/08 SQL Server
分位数回归模型quantile regeression应用详解及示例教程
2021/11/02 Python
微软Win11 全新照片应用面向 Dev预览版推出 新版本上手体验图集
2022/09/23 数码科技