美文网首页
正则学习

正则学习

作者: 真是个非常帅气的昵称呢 | 来源:发表于2019-06-23 15:08 被阅读0次

    创建方式

    1.对象显示创建

    var regexp=new RegExp("js","ig')
    

    2.字面量

    var regexp=/js/ig
    

    正则表达式特殊字符

    \d [0-9] 匹配数字
    \D [^0-9] 匹配非数字字符
    [A-Za-z] 匹配大小写字符
    \s 匹配空白字符
    \S 匹配非空字符
    \w [A-Za-z0-9_] 匹配字母数字下划线
    \W 匹配非数字字母字符

    方法

    1.test,返回的是布尔值

    var str="cfdsJS *(&JSjs 888js"
    if(regexp.test(str)){
      //do something
    }
    

    2.exec,返回数组

       var regexp=new RegExp('(ds)+(j+s)','ig')
        var str="cfdsJS *(&JSjs 888js"
        var arr=regexp.exec(str)
        console.log(arr.length);
        console.log(arr);
        while(arr){
          document.writeln(arr+"  "+"<br>")
          document.writeln("next match at "+regexp.lastIndex+"<br>")
          arr=regexp.exec(str)
        }
    

    由于设置了全局匹配,把RegExp中的lastIndex属性设置为在每一次连续调用中找到的的上一个模式的位置,因此每次调用exec都会查找下一个模式。当没有匹配时,返回null


    image.png

    exec方法每次只返回当前匹配项和所有带圆括号的子字符串。

    \color{red}{注:} 正则表达式中的圆括号匹配字符串,并记住匹配结果,将其保存在数组中

    1,2....$9 保存圆括号所匹配的子字符串

        var regexp=/(\w*)-*(\w*)/
        var str="java--script"
        var result=str.replace(regexp,"$2+$1")
        console.log(result);      //script+java
    

    相关文章

      网友评论

          本文标题:正则学习

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