JS 使用正则表达式获取分组内容的简单示例

前端之家收集整理的这篇文章主要介绍了JS 使用正则表达式获取分组内容的简单示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
支持多次匹配的方式:

/**
 * 正则表达式获取分组内容
 *
 * @param 
 * @arrange (512.笔记) jb51.cc
 **/
var testStr = "now test001 test002"; 
var re = /test(\d+)/ig; 
var r = ""; 
while(r = re.exec(testStr)) { 
alert(r[0] + " " + r[1]); 
} 
@H_404_4@此外也可以用testStr.match(re),但是这样的话就不能有g的选项,而且只能得到第一个匹配。@H_404_4@@H_404_4@另外备忘一下:@H_404_4@正则表达式对象的属性方法: @H_404_4@预定义的正则表达式拥有有以下静态属性:input,multiline,lastMatch,lastParen,leftContext,@H_404_4@rightContext和$1到$9。其中input和multiline可以预设置。其他属性的值在执行过exec或test方法后被根据@H_404_4@不同条件赋以不同的值。许多属性同时拥有长和短(perl风格)的两个名字,并且,这两个名字指向同一个值。(JavaScript模拟perl的正则表达式)@H_404_4@@H_404_4@正则表达式对象的属性
属性 含义 @H_404_4@$1...$9 如果它(们)存在,是匹配到的子串 @H_404_4@$_ 参见input @H_404_4@$* 参见multiline @H_404_4@$& 参见lastMatch @H_404_4@$+ 参见lastParen @H_404_4@$` 参见leftContext @H_404_4@$''          参见rightContext @H_404_4@constructor    创建一个对象的一个特殊的函数原型 @H_404_4@global       是否在整个串中匹配(bool型) @H_404_4@ignoreCase     匹配时是否忽略大小写(bool型) @H_404_4@input        被匹配的串 @H_404_4@lastIndex     最后一次匹配的索引 @H_404_4@lastParen     最后一个括号括起来的子串 @H_404_4@leftContext    最近一次匹配以左的子串 @H_404_4@multiline     是否进行多行匹配(bool型) @H_404_4@prototype     允许附加属性给对象 @H_404_4@rightContext    最近一次匹配以右的子串 @H_404_4@source       正则表达式模式 @H_404_4@lastIndex     最后一次匹配的索引
@H_404_4@正则表达式对象的方法: 
方法 含义 @H_404_4@compile      这个应该是指重新定义正则表达式的内容@H_404_4@exec       执行查找,可以利用while的方式多次查找@H_404_4@test        进行匹配 @H_404_4@toSource      返回特定对象的定义(literal representing),其值可用来创建一个新的对象。重载Object.toSource方法得到的。 @H_404_4@toString      返回特定对象的串。重载Object.toString方法得到的。 @H_404_4@valueOf      返回特定对象的原始值。重载Object.valueOf方法得到
@H_404_4@例子: 

<script language="JavaScript"> 
/**
 * 正则表达式获取分组内容
 *
 * @param 
 * @arrange (512.笔记) jb51.cc
 **/
var myReg = /(w+)s(w+)/; 
var str = "John Smith"; 
var newstr = str.replace(myReg,"$2,$1"); 
document.write(newstr); 
</script>
输出"Smith,John"

猜你在找的JavaScript相关文章