JS正则表达式获取分组内容的⽅法详解
⽀持多次匹配的⽅式:
复制代码代码如下:
var testStr = "now test001 test002";
var re = /test(\d+)/ig;
var r = "";
while(r = re.exec(testStr)) {
alert(r[0] + " " + r[1]);
}
此外也可以⽤testStr.match(re),但是这样的话就不能有g的选项,⽽且只能得到第⼀个匹配。
另外备忘⼀下:
正则表达式对象的属性及⽅法:
预定义的正则表达式拥有有以下静态属性:input, multiline, lastMatch, lastParen, leftContext,
rightContext和$1到$9。其中input和multiline可以预设置。其他属性的值在执⾏过exec或test⽅法后被根据
不同条件赋以不同的值。许多属性同时拥有长和短(perl风格)的两个名字,并且,这两个名字指向同⼀个值。(JavaScript模拟perl的正则表达式)
正则表达式对象的属性:
属性含义
$1...$9 如果它(们)存在,是匹配到的⼦串
$_ 参见input
$* 参见multiline
$& 参见lastMatch
$+ 参见lastParen
$` 参见leftContext
$'' 参见rightContext
constructor 创建⼀个对象的⼀个特殊的函数原型
global 是否在整个串中匹配(bool型)
ignoreCase 匹配时是否忽略⼤⼩写(bool型)
input 被匹配的串
lastIndex 最后⼀次匹配的索引
lastParen 最后⼀个括号括起来的⼦串
leftContext 最近⼀次匹配以左的⼦串
multiline 是否进⾏多⾏匹配(bool型)
prototype 允许附加属性给对象
rightContext 最近⼀次匹配以右的⼦串
source 正则表达式模式
lastIndex 最后⼀次匹配的索引
正则表达式对象的⽅法:
⽅法含义
compile 这个应该是指重新定义正则表达式的内容
exec 执⾏查,可以利⽤while的⽅式多次查
test 进⾏匹配正则匹配方法
toSource 返回特定对象的定义(literal representing),其值可⽤来创建⼀个新的对象。重载Source⽅法得到的。
toString 返回特定对象的串。重载String⽅法得到的。
valueOf 返回特定对象的原始值。重载Object.valueOf⽅法得到
例⼦:
复制代码代码如下:
<script language="JavaScript">
var myReg = /(w+)s(w+)/;
var str = "John Smith";
var newstr = place(myReg, "$2, $1"); document.write(newstr);
</script>
将输出"Smith, John"
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论