为了账号安全,请及时绑定邮箱和手机立即绑定

使用正则表达式选择不相等的键和值

使用正则表达式选择不相等的键和值

蝴蝶刀刀 2022-10-21 15:33:50
有一个这样的字符串:"let key1=value1; let key2=value2;"我想使用正则表达式选择键和值作为组,我尝试使用环顾四周。/(\w+)(?=\=)(\w+);/g但它对我不起作用,有什么建议吗?
查看完整描述

3 回答

?
森林海

TA贡献2011条经验 获得超2个赞

表达式部分是一个前瞻,一个零宽度的(?=\=)断言,它不消耗文本,但要求它出现在右边。当你说(?=\=)(\w+)你想要\w+模式开始匹配时=。由于\w不匹配=,您的正则表达式总是失败。

利用

/(\w+)=(\w+);/g

JavaScript(借自How do you access the matching groups in a JavaScript regular expression?):

var myString = "let key1=value1; let key2=value2;";

var myRegexp = /(\w+)=(\w+);/g;

match = myRegexp.exec(myString);

while (match != null) {

  console.log(match[1] + "," + match[2]);

  match = myRegexp.exec(myString);

}


查看完整回答
反对 回复 2022-10-21
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

以下正则表达式应该可以解决问题:(let (\w+) ?= ?(\w+);?)+. 每个let语句都将是一个匹配项,其中键是组 2,值是组 3。



查看完整回答
反对 回复 2022-10-21
?
达令说

TA贡献1821条经验 获得超6个赞

更具体地说,我们可以使用(\w+) ?= ?(\w+);?+



查看完整回答
反对 回复 2022-10-21
  • 3 回答
  • 0 关注
  • 119 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号