码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript中的正则表达式(下)

时间:2015-03-15 18:08:31      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

JavaScript中的正则表达式介绍了JavaScript中正则表达式的语法,本文同样是JavaScript权威指南的笔记,介绍JavaScript中正则表达式的一些方法。


    • 用于模式匹配的String方法

      • search()方法

        参数是一个正则表达式,返回第一个与之匹配的字串的起始位置,如果找不到匹配的字串,它将返回-1。比如:‘JavaScript‘.search(/script/i) 返回4。

        同时,search方法不支持全局搜索,因为它会忽略正则表达式中的修饰符g。

      • replace()方法

        执行检索和替换的功能。第一个参数是正则表达式,第二个参数是要进行替换的字符串。

        如果指定了修饰符g,则会替换所有的匹配项,否则只替换第一个。

        另外,上一篇文章中提到,正则表达式使用圆括号进行分组,同时这些括起来的内容从左到右是有索引编号的。如果在替换字符串中出现了$加数字,那么replace()将用与指定的字表达式相匹配的文本来替换这两个字符。比如:

      • var quote = /"([^"]*)"/g;
        ‘abc"xxx"def‘.replace(quote, ‘“$1”‘);//abc“xxx”def
      • 此外,replace第二个参数还可以是函数。例如:

        1. text.replace(/\b\w+\b/g, function(word) {
        2. return word.substring(0,1).toUpperCase + word.substring(1);
        3. })
      • match()方法

        唯一参数就是正则表达式,返回一个由匹配项组成的数组。若设置了g则返回所有匹配项组成的数组。

        另外,如果没有修饰符g,返回的数组中第一项是匹配的字符串,后面的项是正则表达式中圆括号括起来的项。

        比如:

      • var url = /(\w+):\/\/([\w.]+)\/(\S*)/;
        var text = ‘Visit my blog http://www.example.com/~david‘;
        //[‘http://www.example.com/~david‘, ‘http‘, ‘www.example.com‘, ‘~david‘]
      • split()方法

        split的参数也支持正则表达式。

    • RegExp对象

      • RegExp的五个属性

        source:正则表达式的文本
        global:是否有修饰符g
        ignoreCase:是否有修饰符i
        multiline:是否有修饰符multiline
        lastIndex:如果有修饰符g,这个属性存储下一次开始检索的位置。

      • 两个方法

        exec()方法,与match类似,但总是返回一个结果,并返回lastIndex属性的信息。从而可以反复调用exec方法获得所有匹配。

        test()方法,比exec更简单一些,如果包含匹配结果则返回true。

JavaScript中的正则表达式(下)

标签:

原文地址:http://www.cnblogs.com/zjzhome/p/4340016.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!