简单的javascript正则表达式问题

来源:百度知道 编辑:UC知道 时间:2024/07/02 12:35:36
有一个字符串:
var str = "abc,200,100";
用/abc,(\d+),(\d+)/匹配,如果匹配成功,怎么才能把其中两个数字分别读到两个变量里?

用replace函数

匹配成功后
a=str.replace(/abc,(\d+),(\d+)/,"$1")//就是取得200
b=str.replace(/abc,(\d+),(\d+)/,"$2")//就是取得100

$1是匹配第1个括号,$2是匹配第2个括号~

<script language="Javascript">
function CheckString()
{
var str = "abc,200,100";
var re = new RegExp("abc,([0-9]+),([0-9]+)");
if(re.test(str))
{
var arr = re.exec(str);
var rueualt1 = RegExp.$1;
var rueualt2 = RegExp.$2;
alert(rueualt1);
alert(rueualt2);
}
}
</script>

你要不的是不是这个?

使用match就可以了,他会自动给你保存下来的。这是最简便的方法:

var str = "abc,200,100";
var result = str.match(new RegExp("abc,(\\d+),(\\d+)"));
alert(result[1]);
alert(result[2]);

match返回结果的第一个元素为匹配到的字符串,以后依次是小括号分组匹配到的结果。