JS RegExp对象

作者: WEB_克克 | 来源:发表于2017-10-10 17:22 被阅读31次

    new RegExp对象用于在字符串中查找你想查找的内容

    new RegExp可以接受两个参数,第一个参数是字符串或者是表达式,第二个参数是可选的,规定用什么方式去匹配,比如new RegExp('hello','g') 全局匹配

    test()方法 ——— 查找指定的内容

    var content = 'Hello';   //定义一个字符串
    var reg = new RegExp('e');  //定义RegExp要查找的内容 e
    //var reg = /e/;   简易写法,表达式的方式
    reg.test(content);  //得到true   用RegExp的test方法去检测 content的这个字符串里有没有e这个字符,如果有返回true,否则返回false。
    

    exec()方法———查找指定的值,如果有就返回指定的值,没有就返回null

    var content = 'Hello';   //定义一个字符串
    var reg = new RegExp('o');  //定义RegExp要查找的内容 o
    var result = reg.exec(content)  //得到 ["o", index: 4, input: "Hello"]
    document.write(result);  // 可以直接得到 o
    获取值:
    result[0] 得到 o
    result.index  得到4,4代表索引位置
    result.input 得到  Hello。
    

    compile() ——— 用于替换要查找的内容

        var content = 'Hello';  
        var reg = new RegExp('o');  
        reg.compile('h') //把 o 替换成 l
        var result = reg.test(content)  // true
    

    |

    JsvaScript match()

    语法: str.match()
    作用:在字符串中查找指定的值,如果没找到返回null,如果找到返回指定得值,有两种情况

    1. 表达式后面不加修饰参数
         var str = "hello"; 
         str.match(/e/); //["e", index: 1, input: "hello"]  数组里有匹配到的e,也有e出现的位置。
    
    2. 表达式后面增加修饰参数 g, 表示全局搜索
        var str="hello world"; 
        str.match(/o/g);   // ["o", "o"]  检索到2个o 
    

    JavaScript search()

    语法:str.search
    作用:检索指定的值在字符串中出现的位置,如果没找到就返回-1, 和 indexOf()方法类似,

    var str="hello 123"
    str.search(/\d/)  // 6  匹配数字出现的位置 
    str.search(/o/)  // 4  匹配 o
    "hello 123".indexOf('1')  //6
    

    JavaScript replace()

    语法:str.replace()
    作用:查找并且替换内容(替换字符串中所有匹配到的内容)

    var str = 'hello world hello world'
    str.replace('hello', 'world') //  world world hello world      替换一个hello
    str.replace(/hello/g, 'world') // world world world world  替换全局hello
    //第一个参数可是是正则表达式
    //第二个参数要替换成什么内容
    

    W3C标准解释

    修饰符

    i
    执行对大小写不敏感的匹配。
    
    g
    执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
    
    m
    执行多行匹配。
    

    方括号用于查找某个范围内的字符:

    [abc]
    查找方括号之间的任何字符。
    
    [^abc]
    查找任何不在方括号之间的字符。
    
    [0-9]
    查找任何从 0 至 9 的数字。
    
    [a-z]
    查找任何从小写 a 到小写 z 的字符。
    
    [A-Z]
    查找任何从大写 A 到大写 Z 的字符。
    
    [A-z]
    查找任何从大写 A 到小写 z 的字符。
    
    [adgk]
    查找给定集合内的任何字符。
    
    [^adgk]
    查找给定集合外的任何字符。
    
    (red|blue|green)
    查找任何指定的选项。
    

    元字符(Metacharacter)是拥有特殊含义的字符:

    [.]
    查找单个字符,除了换行和行结束符。
    
    [\w]
    查找单词字符。
    
    [\W]
    查找非单词字符。
    
    [\d]
    查找数字。
    
    [\D]
    查找非数字字符。
    
    [\s]
    查找空白字符。
    
    [\S]
    查找非空白字符。
    
    [\b]
    匹配单词边界。
    
    [\B]
    匹配非单词边界。
    
    \0
    查找 NUL 字符。
    
    [\n]
    查找换行符。
    
    \f
    查找换页符。
    
    \r
    查找回车符。
    
    \t
    查找制表符。
    
    \v
    查找垂直制表符。
    
    [\xxx]
    查找以八进制数 xxx 规定的字符。
    
    [\xdd]
    查找以十六进制数 dd 规定的字符。
    
    [\uxxxx]
    查找以十六进制数 xxxx 规定的 Unicode 字符。
    

    相关文章

      网友评论

        本文标题:JS RegExp对象

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