首页 > JavaScript正则表达式

JavaScript正则表达式

  $.each($('.window'),function(){
    /wdo-(.*)/.test(this.id);
    var str = ''+RegExp.$1;
    // console.log('id:'+this.id+'\n$1:'+RegExp.$1+'\nReg.last:'+RegExp.$1);
    $('<div class="dragbar"></div>').appendTo($(this))
      .html(str);
    console.log('id:'+this.id+'\n$1:'+RegExp.$1);
  })

我的HTML文件中,.window的div有8个,id如下 id:wdo-equipt
$1:div
id:wdo-item
$1:div
id:wdo-skill
$1:skill
id:wdo-achievement
$1:achievement
id:wdo-map
$1:map
id:wdo-event
$1:event
id:wdo-npc
$1:npc
id:wdo-other
$1:other

$1那是是当前代码的输出结果。在头两行RegExp.$1的结果变成了div,本来预期是equip和item。
还有另一个问题,我如果吧.html(str)里的str直接用$1代替,那么全部的标签内容都是div。

在另一个问答站上看到说正则表达式的$1~$9也是不断在改变的,具体怎样访问才能够掌控呢


在我的笔记里刚好有这段:

正则表达式对象即为new RegExp([pattern], [flags])或者/[pattern]/[flags]创建的对象 而RegExp对象是一个带有一系列当前正则表达式执行后匹配信息的全局对象,在没有一个正则匹配之前它是一个undefind,成功匹配之后它会有一些非常有用的属性:

注意小括号的符号是可以在像字符的正则替换中的replaceFun中使用

【热门文章】
【热门文章】