JavaScript RegExp 对象
来源:互联网 发布:儿童读书软件 编辑:程序博客网 时间:2024/06/10 08:51
RegExp 对象
正则表达式是描述字符模式的对象。
正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。
注意:当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 \)。比如,以下是等价的:
var re = new RegExp("\\w+");var re = /\w+/;
修饰符
修饰符用于执行区分大小写和全局匹配:
<script text="text/javascript"> var txt = 'Hello World!' var reg = new RegExp('hello', 'i'); if(reg.test(txt)) { console.log(txt.match(reg));//["Hello", index: 0, input: "Hello World!"] }</script>
<script text="text/javascript"> var txt = 'This is just a test.' var reg = new RegExp('is', 'g');//区分大小写 var reg01 = new RegExp('is', 'gi');//不区分大小写 if(reg.test(txt)) { console.log(txt.match(reg));//["is", "is"] console.log(txt.match(reg).length);//2 }</script>
<script type="text/javascript"> //以下代码不能够匹配字符串"an",尽管"an"后面已经换行了,但"an"并不是字符串行的结尾。 var txt1 = 'This is an\n apple'; var reg1 = /an$/; console.log(txt1.match(reg1));//null //以下代码能够匹配到字符串"an" var txt2 = 'This is an\n apple'; var reg2 = /an$/m; console.log(txt2.match(reg2));//["an", index: 8, input: "This is an↵ apple"] //以下是多行匹配开头示例 var txt3 = 'This is an\n apple'; var reg3 = /^\sapp/; console.log(txt3.match(reg3));//null var txt4 = 'This is an\n apple'; var reg4 = /^\sapp/m;// /^ app/m console.log(txt4.match(reg4));//[" app", index: 11, input: "This is an↵ apple"]
方括号
方括号用于查找某个范围内的字符:
元字符
元字符(Metacharacter)是拥有特殊含义的字符:
量词
RegExp对象属性
1.global
返回正则表达式是否具有”g”修饰符;
<script type="text/javascript"> var txt = 'This is just a test'; var reg = new RegExp('st', 'g'); if(reg.global) { console.log(txt.match(reg));//["st", "st"] }</script>
2.ignoreCase
返回正则表达式是否具有”i”修饰符;
3.multiline
返回正则表达式是否具有”m”修饰符;
4.lastIndex
标记下一次匹配开始时所在字符串的位置;
<script type="text/javascript"> var txt = 'If you love code, you should code everyday.'; var reg = new RegExp('ou', 'g'); var length = txt.match(reg).length; for(var i = 0; i < length; i++) { reg.test(txt); console.log(reg.lastIndex); }</script>
5.source
返回正则表达式进行模式匹配的文本或表达式,返回的文本中不包括修饰符”i”,”g”,”m”,也不包括正则表达式直接量使用的定界符
<script> var reg1 = new RegExp('yoho', 'm'); var reg2 = new RegExp('\\w'); var reg3 = /\w/m; console.log(reg1.source);//yoho console.log(reg2.source);//\w console.log(reg3.source);//\w</script>
RegExp对象方法
1.compile
改变或重新编译正则表达式(Opera浏览器不支持该方法)
对于正则表达式的重新定义,以下方法就可以实现。
<script> var reg = new RegExp('ou', 'g'); reg = /\w/;</script>
2.exec
检索字符串中正则表达式的匹配结果
<script> var txt = 'If you love code, you should code everyday.'; var reg = new RegExp('ou', 'g'); var length = txt.match(reg).length; for(var i = 0; i < length; i++) { console.log(reg.exec(txt)); }</script>
3.test
检测字符串是否与匹配正则表达式匹配
<script> var txt = 'I code everyday.'; var reg = new RegExp('code'); console.log(reg.test(txt));//true</script>
阅读全文
0 0
- JavaScript RegExp 对象参考
- JavaScript RegExp 对象
- JavaScript RegExp 对象
- JavaScript的RegExp对象
- JavaScript RegExp 对象参考手册
- JavaScript的RegExp对象
- javaScript RegExp对象问题
- javascript RegExp 对象介绍
- JavaScript的RegExp对象
- JavaScript RegExp 对象
- JavaScript中的Regexp对象
- JavaScript RegExp 对象
- JavaScript RegExp 对象
- JavaScript RegExp对象
- JavaScript RegExp 对象
- JavaScript RegExp 对象
- JavaScript RegExp 对象
- 19. JavaScript RegExp 对象
- V型积木(dp)
- 【七日牧函】来一次属灵交谈
- CentOS 7上安装Tomcat
- js获取url指定得参数值
- POJ 2503 Babelfish G++
- JavaScript RegExp 对象
- tf教程(四):Adding a frame
- IO流之Commons IO 2.5-IOUtils
- 【Kotlin开发Android】开始一个新项目
- CentOS安装JDK
- C++__程序设计初步
- eclipse调试快捷键
- 编写一个js函数用来求一个数组中各元素之积
- C#高级篇 2