当前页面: 开发资料首页 → Javascript 专题 → JavaScript中的正则表达式(2)
JavaScript中的正则表达式(2)
摘要: JavaScript中的正则表达式(2)
<textarea readonly style="border:none;font-family:Courier New;line-height:150%;width:760px;overflow-y:visible">
正则表达式对象的属性及方法
预定义的正则表达式拥有有以下静态属性:input, multiline, lastMatch, lastParen, leftContext, rightContext和$1到$9。其中input和multiline可以预设置。其他属性的值在执行过exec或test方法后被根据不同条件赋以不同的值。许多属性同时拥有长和短(perl风格)的两个名字,并且,这两个名字指向同一个值。(JavaScript模拟perl的正则表达式)
正则表达式对象的属性
<table bgColor=#000000 cellPadding=1 cellSpacing=0 width="90%">
<tr>
<td>
<table bgColor=#ffffff cellPadding=1 cellSpacing=1 width="100%">
<tr bgColor=#ccccff vAlign=center>
<td>属性</td>
<td>含义</td></tr>
<tr bgColor=#dfdfdf>
<td>$1...$9</td>
<td>如果它(们)存在,是匹配到的子串 </td></tr>
<tr>
<td>$_</td>
<td>参见input </td></tr>
<tr bgColor=#dfdfdf>
<td>$*</td>
<td>参见multiline </td></tr>
<tr>
<td>$&</td>
<td>参见lastMatch </td></tr>
<tr bgColor=#dfdfdf>
<td>$+</td>
<td>参见lastParen </td></tr>
<tr>
<td>$`</td>
<td>参见leftContext </td></tr>
<tr bgColor=#dfdfdf>
<td>$' </td>
<td>参见rightContext </td></tr>
<tr>
<td>constructor </td>
<td>创建一个对象的一个特殊的函数原型 </td></tr>
<tr bgColor=#dfdfdf>
<td>global </td>
<td>是否在整个串中匹配(bool型) </td></tr>
<tr>
<td>ignoreCase </td>
<td>匹配时是否忽略大小写(bool型) </td></tr>
<tr bgColor=#dfdfdf>
<td>input </td>
<td>被匹配的串 </td></tr>
<tr>
<td>lastIndex </td>
<td>最后一次匹配的索引 </td></tr>
<tr bgColor=#dfdfdf>
<td>lastParen </td>
<td>最后一个括号括起来的子串 </td></tr>
<tr>
<td>leftContext </td>
<td>最近一次匹配以左的子串 </td></tr>
<tr bgColor=#dfdfdf>
<td>multiline </td>
<td>是否进行多行匹配(bool型) </td></tr>
<tr>
<td>prototype </td>
<td>允许附加属性给对象 </td></tr>
<tr bgColor=#dfdfdf>
<td>rightContext </td>
<td>最近一次匹配以右的子串 </td></tr>
<tr>
<td>source </td>
<td>正则表达式模式 </td></tr>
<tr bgColor=#dfdfdf>
<td>lastIndex </td>
<td>最后一次匹配的索引 </td></tr></table></td></tr></table>
正则表达式对象的方法
<table bgColor=#000000 cellPadding=1 cellSpacing=0 width="90%">
<tr>
<td>
<table bgColor=#ffffff cellPadding=1 cellSpacing=1 width="100%">
<tr align=middle bgColor=#ccccff>
<td>方法</td>
<td>含义</td></tr>
<tr bgColor=#dfdfdf>
<td>compile </td>
<td>正则表达式比较 </td></tr>
<tr>
<td>exec </td>
<td>执行查找 </td></tr>
<tr bgColor=#dfdfdf>
<td>test </td>
<td>进行匹配 </td></tr>
<tr>
<td>toSource </td>
<td>返回特定对象的定义(literal representing),其值可用来创建一个新的对象。重载Object.toSource方法得到的。 </td></tr>
<tr bgColor=#dfdfdf>
<td>toString </td>
<td>返回特定对象的串。重载Object.toString方法得到的。 </td></tr>
<tr>
<td>valueOf </td>
<td>返回特定对象的原始值。重载Object.valueOf方法得到</td></tr></table></td></tr></table>例子
<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" </td></tr>