简单的javascript正则表达式问题
来源:百度知道 编辑:UC知道 时间:2024/07/02 12:35:36
有一个字符串:
var str = "abc,200,100";
用/abc,(\d+),(\d+)/匹配,如果匹配成功,怎么才能把其中两个数字分别读到两个变量里?
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返回结果的第一个元素为匹配到的字符串,以后依次是小括号分组匹配到的结果。