• JavaScript 正则表达式


      正则表达式在每一种编程语言中都有,不只是JavaScript才有的,并且正则表达式也语言无关,是一个独立的内容,每一种语言只是提供不同的方法或者函数可以和正则表达式配合使用,完成字符串查找、替换、删除的操作。

    字符串操作

    查找子串:String.search()

      search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。如果没有找到任何匹配的子串,则返回 -1。

      还有一个注意的地方就是,search只搜索一次,即使符合条件的字符串有多个,那么在搜索到第一个满足条件之后,立马就会返回。

    var str = "hello world";
    console.log(str.search("w"));//6
    console.log(str.search("a"));//-1
    

     

    字符串截取:String.split()

    var str = "hello world";
    console.log(str.substring(2));//llo world
    console.log(str.substring(2,5));//llo
    

     

    获取某个位置的字符:String.charAt()

    var str = "hello world";
    console.log(str.charAt(0));//h
    console.log(str.charAt(8));//r
    

     

    字符串分割:String.substring

    var str = "hello world";
    console.log(str.split("w"));// ["hello ", "orld"]
    console.log(str.split(" "));// ["hello", "world"]
    

     

    字符串检索:String.match()

      match和search的区别在于,search返回的是符合条件的下标(索引);match返回的符合条件的内容。都默认只匹配一次。

      match通过和正则表达式的g修饰符配合使用可以返回所有满足条件的子串。

    var str = "hello 1024 world";
    console.log(str.search("l"))//2
    console.log(str.match("l"))//["l", index: 2, input: "hello 1024 world"]
    

     

    字符串替换:String.replace()

      replace可以将字符串中某个子串替换为指定的字符串。默认值替换一次。

    var str = "hello";
    console.log(str.replace("l","L")) //heLlo 
    

      

    正则表达式

    基本格式

    var patt=new RegExp(pattern,modifiers);
    var patt=/pattern/modifiers;
    

      建议使用第二种方法,符合其他语言的使用习惯。

    正则初体验:

    var str = "hello 1024 world";
    var patt =  /d/
    console.log(str.search(patt)) //6
    console.log(str.search(/s/)) //5
    console.log(str.search(/E/))  //-1
    console.log(str.search(/E/i)) //1

     

    搭配使用match

    var str = "hello 1024 world 512";
    console.log(str.match(/d/))//["1", index: 6, input: "hello 1024 world 512"]
    console.log(str.match(/d/g))// ["1", "0", "2", "4", "5", "1", "2"]
    console.log(str.match(/d+/g))// ["1024", "512"]
    

     

    搭配使用replace

    var str = "hello";
    console.log(str.replace(/l/,"L")) //heLlo 
    console.log(str.replace(/l/g,"L")) //heLLo
    

    使用test验证是否匹配

      需要注意的是,test是RegExp对象的方法,不是String对象的方法,所以不要使用str.test(patt)这种错误的方式。

      正确的格式式patt.test(str),如果匹配正则表达式就返回true,否则返回false。

    var patt = /d{5,}/
    var str = "123456"
    console.log(patt.test(str))	//true
    console.log(patt.test("123")) //false
  • 相关阅读:
    5、include为应用指定多个struts配置文件
    4、struts处理流程和action的管理方式
    8、类型转换器
    7、请求参数接收
    UESTC 2014 Summer Training #6 Div.2
    Codeforces Round #FF
    css ul li去除圆点
    css a标签去除下划线
    Axure的热区元件的作用
    结组开发项目(TD学生助手)
  • 原文地址:https://www.cnblogs.com/-beyond/p/8145207.html
Copyright © 2020-2023  润新知