Javascript 使用正则表达式选择键和不带相等值的值
有这样一根线:Javascript 使用正则表达式选择键和不带相等值的值,javascript,regex,string,Javascript,Regex,String,有这样一根线: "let key1=value1; let key2=value2;" 我想使用regex选择键和值作为组,我已经尝试使用look-around /(\w+)(\w+)/g 但是它对我不起作用,有什么建议吗?下面的正则表达式应该可以做到这一点:(让(\w+?=?(\w+)+)+。 每个let语句都是匹配的,其中键是组2,值是组3。更具体地说,我们可以使用(\w+)=?(\w+)+表达式部分是一个前瞻性的零宽度断言,它不使用文本,但要求文本位于右侧。当您说(?
"let key1=value1; let key2=value2;"
我想使用regex选择键和值作为组,我已经尝试使用look-around
/(\w+)(\w+)/g
但是它对我不起作用,有什么建议吗?下面的正则表达式应该可以做到这一点:
(让(\w+?=?(\w+)+)+
。
每个
let
语句都是匹配的,其中键是组2,值是组3。更具体地说,我们可以使用(\w+)=?(\w+)+代码>表达式部分是一个前瞻性的零宽度断言,它不使用文本,但要求文本位于右侧。当您说(?=\=)(\w+
时,您希望\w+
模式开始匹配=
。由于\w
与=
不匹配,您的正则表达式总是失败
使用
JavaScript(借用自):
var myString=“let key1=value1;let key2=value2;”;
var myRegexp=/(\w+)=(\w+)/G
match=myRegexp.exec(myString);
while(匹配!=null){
log(匹配[1]+”,“+匹配[2]);
match=myRegexp.exec(myString);
}
Maybe:let\s(\w+)=(\w+)代码>在哪里可以获取组1作为键,组2作为值?只需使用它,/(\w+)\s*=\s*(\w+)/g
。但是,您不应该使用正则表达式来解析JS代码。它有解析器。@JvdV nope它将选择相等的,也将选择白色spaces@WiktorStribiżew它将选择我不想选择的相等值,我试图在虚拟机上运行它之前编辑字符串代码。它不会选择它。它将匹配它。但是您将能够获得捕获的子字符串。
/(\w+)=(\w+);/g