美文网首页
JS内置对象RegExp

JS内置对象RegExp

作者: 与我常在Jerry | 来源:发表于2017-02-26 19:23 被阅读155次

    RegExp内置对象

    1.创建形式

    1. 构造函数

    var re = new RegExp('j.*t');

    1. 正则文本标记法

    var re = /j.*t/

    2.RegExp属性

    1. global(默认值false):是否找出所有匹配。
    2. ignoreCase(默认值false):是否忽略大小写。
    3. multiline(默认值false):是否跨行搜索。
    4. lastIndex(默认值0):搜索开始的索引。
    5. source:储存正则表达式匹配模式的字符串。

    1-3属性可以分别缩写为:g,i,m。

    匹配形式如下:

    //构造函数
    var re = new RegExp('j.*t','gmi');
    //正则文本标记法
    var re = /j.*t/gmi;
    

    3.RegExp内置方法

    (1) test()

    接受要匹配的字符串,返回一个是否匹配到内容的布尔值。

    (2) exec()

    接受要匹配的字符串,返回一个数组,包含匹配到的字符串。

    4.以正则表达式为参数的字符串方法

    包含match( ), search( ), replace( ), split( )。

    (1) match()

    返回包含匹配内容的数组。

    var s = new String("HelloJavaScriptWorld");
    // match()
    s.match(/a/); //['a']
    s.match(/a/g); //['a','a']
    

    (2) search()

    返回第一个匹配内容所在的位置。

    var s = new String("HelloJavaScriptWorld");
    // search()
    s.search(/j.*t/i); // 5
    

    (3) replace()

    将匹配到的字符串替换成指定的字符串。

    var s = new String("HelloJavaScriptWorld");
    //replace() 其中$&表示匹配到的字符, $1,$2表示分组
    s.replace(/[A-Z]/g, "-$&"); //-Hello-Java-Script-World
    

    回调式替换:

    var str = 'backgroundColor';
    function replaceCallBack(match) {
        return '-' + match.toLowerCase();
    }
    str.replace(/[A-Z]/g,replaceCallBack);
    // 返回 'background-color'
    

    (4) split()

    根据RegExp将目标字符串分割成若干个数组元素。

    var csv = 'one, two,three ,four';
    csv.split(',');
    // 返回["one", " two", "three ", "four"]
    // 以上结果会有一些多余的空格,为了去除空格,采用以下代码
    csv.split(/\s*.\s*/);
    // 返回["one", "two", "three", "four"]
    

    (5) 用字符串代替过于简单的regexp对象

    "test".replace('t','r'); // "rest"
    // 等价于以下代码
    "test".replace(new RegExp("t"), 'r'); // "rest"
    // 注意:字符串只会匹配一次
    // 注意:字符串只会匹配一次
    // 注意:字符串只会匹配一次
    // 如果想把字符串中所有的a替换为b ==>
    "Javascript".replace(/a/g, 'b');// 'Jbvbscript'
    

    相关文章

      网友评论

          本文标题:JS内置对象RegExp

          本文链接:https://www.haomeiwen.com/subject/tifawttx.html