正则表达式对象的属性及方法
预定义的正则表达式拥有有以下静态属性:input, multiline, lastmatch, lastparen, leftcontext, rightcontext和$1到$9。其中input和multiline可以预设置。其他属性的值在执行过exec或test方法后被根据不同条件赋以不同的值。许多属性同时拥有长和短(perl风格)的两个名字,并且,这两个名字指向同一个值。(javascript模拟perl的正则表达式)
正则表达式对象的属性
属性含义$1...$9如果它(们)存在,是匹配到的子串$_参见input$*参见multiline$&参见lastmatch$+参见lastparen$`参见leftcontext$''参见rightcontextconstructor创建一个对象的一个特殊的函数原型global是否在整个串中匹配(bool型)ignorecase匹配时是否忽略大小写(bool型)input被匹配的串lastindex最后一次匹配的索引lastparen最后一个括号括起来的子串leftcontext最近一次匹配以左的子串multiline是否进行多行匹配(bool型)prototype允许附加属性给对象rightcontext最近一次匹配以右的子串source正则表达式模式lastindex最后一次匹配的索引
正则表达式对象的方法
方法含义compile正则表达式比较exec执行查找test进行匹配tosource返回特定对象的定义(literal representing),其值可用来创建一个新的对象。重载object.tosource方法得到的。tostring返回特定对象的串。重载object.tostring方法得到的。valueof返回特定对象的原始值。重载object.valueof方法得到
例子
<script language = "javascript">
var myreg = /(w+)s(w+)/;
var str = "john smith";
var newstr = str.replace(myreg, "$2, $1");
document.write(newstr);
</script>
将输出smith, john