javascript 学习总结(六)RegExp对象
2015-10-30 10:34
751 查看
1、正则表达式test方法
2、正则的toString()方法
3、RegExp Constructor(构造函数) Properties(属性)
4、正则$1.....$9
5、RegExp exec()
6、RegExp实例属性
var text = "cat, bat, sat, fat"; var pattern = /.at/; if (pattern.test(text)){ alert("The pattern was matched."); }
2、正则的toString()方法
var pattern = new RegExp("\\[bc\\]at", "gi"); alert(pattern.toString()); // /\[bc\]at/gi alert(pattern.toLocaleString()); // /\[bc\]at/gi
3、RegExp Constructor(构造函数) Properties(属性)
var text = "this has been a short summer"; var pattern = /(.)hort/g; /* * Note: Opera doesn't support input, lastMatch, lastParen, or multiline. * Internet Explorer doesn't support multiline. */ if (pattern.test(text)){ alert(RegExp.input); //this has been a short summer alert(RegExp.leftContext); //this has been a alert(RegExp.rightContext); // summer alert(RegExp.lastMatch); //short alert(RegExp.lastParen); //s alert(RegExp.multiline); //false } input 保存被搜索的字符串 index 保存匹配的首字符的位置 lastIndex 保存匹配的字符串下一个字符的位置 lastMatch 保存匹配到的字符串 lastParen 保存最后一个被匹配的字符串(最后一个括号内的内容) leftContext 保存匹配字符串左边的内容 rightContext 保存匹配字符串右边的内容 $1~$9 保存最开始的9个子匹配(括号中的内容)
var text = "this has been a short summer"; var pattern = /(.)hort/g; /* * Note: Opera doesn't support short property names. * Internet Explorer doesn't support multiline. */ if (pattern.test(text)){ alert(RegExp.$_); //this has been a short summer alert(RegExp["$`"]); //this has been a alert(RegExp["$'"]); // summer alert(RegExp["$&"]); //short alert(RegExp["$+"]); //s alert(RegExp["$*"]); //false } * 分为长属性名和短属性名 * input $_ 最近一次要匹配的字符串 * lastMatch $& 最近一次的匹配项 * lastParen $+ 最近一次匹配的捕获组 * leftContext $` input字符串中lastMatch之前的文本 * multiline $* 布尔值,表示是否所有表达式都使用多行模式。 * rightContext $' input字符串中lastMatch之后的文本
4、正则$1.....$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 } 每当产生一个带括号的成功匹配时,$1...$9 属性的值就被修改。 可以在一个正则表达式模式中指定任意多个带括号的子匹配,但只能存储最新的九个。
5、RegExp exec()
var text = "mom and dad 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" 匹配的第三个值
var text = "cat, bat, sat, fat"; var pattern1 = /.at/; var matches = pattern1.exec(text); alert(matches.index); //0 alert(matches[0]); //"cat" alert(pattern1.lastIndex);//0 matches = pattern1.exec(text); alert(matches.index); //0 alert(matches[0]); //"cat" alert(pattern1.lastIndex);//0 var pattern2 = /.at/g; var matches = pattern2.exec(text); alert(matches.index); //0 alert(matches[0]); //"cat" alert(pattern2.lastIndex);//0 matches = pattern2.exec(text); alert(matches.index); //5 alert(matches[0]); //"bat" alert(pattern2.lastIndex);//0
6、RegExp实例属性
var pattern1 = /\[bc\]at/i; alert(pattern1.global); //false //是否设置全局查找 alert(pattern1.ignoreCase); //true 是否忽略大小写 alert(pattern1.multiline); //false 是否设置多行查找 alert(pattern1.lastIndex); //0 一个整数,标示开始下一次匹配的字符位置。 alert(pattern1.source); //"\[bc\]at" 正则表达式的源文本。 var pattern2 = new RegExp("\\[bc\\]at", "i"); alert(pattern2.global); //false alert(pattern2.ignoreCase); //true alert(pattern2.multiline); //false alert(pattern2.lastIndex); //0 alert(pattern2.source); //"\[bc\]at"
相关文章推荐
- 关于WEBAPI传输JSON的效率测试
- html中使用js进行登录md5加密提交并重定向新页面
- js中单选,反选,联动选择等等
- js对已经对象类型进行类型辨别
- javascript基本语法
- js的prototype属性
- cookie.js插件的README/cookie.js中文使用手册
- javascript学习心得
- 自己动手写的javascript前端等待控件
- Js获取当前日期时间及其它操作
- 处理将list 转换为json,js时间显示毫秒数问题
- JavaScript最佳实践
- JavaScript获取function所有参数名的方法
- 图文解说 JavaScript this 到底指向什么?
- Notepad 自动补全的插件 安装 (包括html,JavaScript)
- JSP EL表达式使用
- jstl与el结合常见用法
- js array对象方法
- Snap.svg – 现代 Web 开发必备的 JavaScript SVG 库
- js封装用户选项传递给Servlet之考试系统二