zoukankan      html  css  js  c++  java
  • RegExp方法解析

    RegExp 正则表达式(regular expression)的缩写

    语法:

    显式构造函数 var rg= new RegExp(pattern, attributes)

    隐式构造函数 var rg= /pattern/attributes

    pattern: 字符串

    attribute: i, g (i不区分大小写的匹配, g全局匹配,即查询所有匹配项而不是在匹配到第一个后就停止,"gi"不区分大小写且全局检索)可选参数

    常用方法说明:

    1.test()

    string中是否有匹配的字符串,有则返回true,没有返回false

    eg:var str = "abc";
         var rg = /b/i;
         console.log(rg.test(str)); //true

    2.exec()

    检索指定值,有则返回数组,没有则返回null

    eg:

    var str = "abcb";
    var rg = /b/g;
    console.log(rg.exec(str)); //["b", index: 1, input: "abcb"]

    备注: 虽然exec结果数组看起来有些奇怪,但其实只是一般数组,长度为1,元素为"b"

    参数解析:

    index:首次匹配内容的开始位置,初始值为-1,从0开始计数,每次成功匹配,都会发生改变

    input: 返回当前所作用的字符串,初始值为“”

    3.match()

    检索指定值,若有匹配项,全局搜索时返回匹配项数组,一般搜索时返回也返回数组,格式与exec结果一样,没有则返回null

    eg:

    var str = "abcb";
    var rg = /b/g;
    console.log(str.match(rg)); //["b", "b"]

    exec与match功能类似,但依旧有诸多区别:

    1.如果正则中有g(全局搜索),match返回所有匹配的结果,而exec返回第一次匹配的结果

    2.写法上顺序相反

    3.exec返回第一次匹配的位置,匹配内容,所作用的字符串,match返回匹配的内容

    4.如果没有g,但是有分组,则两个结果一样。或者没有g也没有分组。只返回第一个匹配

    4.search()

    返回第一次匹配的位置

    eg: var str = "abcb";
           var rg = /b/g;
           console.log(str.search(rg)); //1

    5.replace()

    替换匹配的字符串并返回新的字符串

    eg:

    var str = "abcb";
    var rg = /b/g;
    console.log(str.replace(rg, "1")); //a1c1

    全局模式下全部替换,其他情况下替换第一个,原字符串不发生改变!

    6.compile()

    用于改变正则表达式

    语法:rg.compile(regexp, modifier)

    regexp新的正则表达式;

    modifier新的模式 "g"全局检索; "i"不区分大小写; "gi"不区分大小写且全局检索;

    7.split()

    将字符串分割为字符串数组

    语法:string.split(string/regexpobj, howmany)

    可根据字符串或者正则进行分割,howmany选填,用于规定数组大小,为空时全部分割

    eg:

    var rg=new RegExp("e", "g");   
    console.log(("The best things in life are free").split(rg));

    //["Th", " b", "st things in lif", " ar", " fr", "", ""]

  • 相关阅读:
    HTML中,input元素的 Disabled属性 所产生的后端无法接收数据的问题
    计算字符串中大写字母,小写字母,数字的出现次数
    实现正整数的加法计算器
    简单的用户登陆程序
    对奇偶数的处理
    如何使用循环计算1 + 2 +3 + 4 + 5 + 6 + 8 + 9 + 10的值
    计算100以内所有整数的和
    根据用户输入的月份显示对应的美食
    根据用户输入的年龄输出不同的信息
    整齐的输出一首古诗
  • 原文地址:https://www.cnblogs.com/yanze/p/6347292.html
Copyright © 2011-2022 走看看