JS正则表达式获取分组内容的方法

刚才写的居然丢掉了,郁闷,重新谢了。

支持多次匹配的方式:

js 代码
  1. var testStr = "now test001 test002";   
  2. var re = /test(\d+)/ig;    
  3. var r = "";   
  4. while(r = re.exec(testStr)) {   
  5.     alert(r[0] + "  " + r[1]);   
  6. }  

此外也可以用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),其值可用来创建一个新的对象。重载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"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值