js正则表达式
varreg1=newRegExp("(hello)");varreg2=newRegExp("(world)","g");varstr_reg_1="helloworl...
var reg1 = new RegExp("(hello)");
var reg2 = new RegExp("(world)","g");
var str_reg_1 = "hello world,hello kitty,hello AI world";
reg1.test(str_reg_1);
reg2.test(str_reg_1);
alert(RegExp.$1);
RegExp.$1 得到的是reg2的$1
我想得到 reg1的$1 该怎么做呢 展开
var reg2 = new RegExp("(world)","g");
var str_reg_1 = "hello world,hello kitty,hello AI world";
reg1.test(str_reg_1);
reg2.test(str_reg_1);
alert(RegExp.$1);
RegExp.$1 得到的是reg2的$1
我想得到 reg1的$1 该怎么做呢 展开
1个回答
展开全部
要想得到reg1的$1只需要在reg1.test(str_reg_1);后面,reg2.test(str_reg_1);前面,加一句alert(RegExp.$1);,完整的Javascript程序如下(改动的地方见注释)
<script type=text/javascript>
var reg1 = new RegExp("(hello)");
var reg2 = new RegExp("(world)","g");
var str_reg_1 = "hello world,hello kitty,hello AI world";
reg1.test(str_reg_1);
alert(RegExp.$1);//这里加一句
reg2.test(str_reg_1);
alert(RegExp.$1);
</script>
运行结果
hello
world
更多追问追答
追问
正则表达式可以相加吗 这个说可以相加 http://bbs.csdn.net/topics/380090664
可是根据他们的说的 好像并没有相加的效果
var reg1 = new RegExp("(hello\s)");
var reg2 = new RegExp("(world)","g");
var reg3 = new RegExp(reg1.source + reg2.source);
追答
正则表达式可以合并,表达式可以合并,匹配的结果也可以合并
完整的Javascript程序如下
<script type=text/javascript>
var reg1 = new RegExp("(hello )","g");
var reg2 = new RegExp("(world)","g");
var reg3 = new RegExp(reg1.source + reg2.source,"g");
var str_reg_1 = "hello world,hello kitty,hello AI world";
reg1.test(str_reg_1);
alert(RegExp.$1);
reg2.test(str_reg_1);
alert(RegExp.$1);
var result=str_reg_1.match(reg3);
alert(result);
</script>
运行结果
hello
world
hello world
最后一个用match函数匹配,因为没有RegExp.$0
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询