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 该怎么做呢
展开
 我来答
紫薇参星
科技发烧友

2017-01-06 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3578万
展开全部

要想得到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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式