Javascript js正则表达式捕获第一个逗号前的最后一个单词
我有以下字符串Javascript js正则表达式捕获第一个逗号前的最后一个单词,javascript,regex,Javascript,Regex,我有以下字符串 const str = "bbb=12m3 3be3 34f4, foo=2344 234234 dqda, baz=asdasd asdasd" const match = str.match(Need the correct regex here); console.log(match[match.length-1]); 我想提取第一个逗号前的最后一个单词。在上面的例子中,它将是34f4 我尝试了/bbb=(.*),/这给了我12立方米的体重 我尝试了/bbb=(.+\s(
const str = "bbb=12m3 3be3 34f4, foo=2344 234234 dqda, baz=asdasd asdasd"
const match = str.match(Need the correct regex here);
console.log(match[match.length-1]);
我想提取第一个逗号前的最后一个单词。在上面的例子中,它将是34f4
我尝试了/bbb=(.*),/
这给了我12立方米的体重
我尝试了/bbb=(.+\s(.*),/
,这给了我dqda
我觉得我有点接近了,但不能完全理解
编辑-我需要特别查找字符串“bbb”,因为可能会测试其他没有它的字符串,或者bbb在字符串中的顺序可能不同
我可能会受伤
const str = "zzz=12m3 3be3 34f4, foo=2344 234234 dqda, baz=asdasd asdasd"
什么也不回
否则我可能会
const str = "foo=2344 234234 dqda, bbb=12m3 3be3 34f4, baz=asdasd asdasd"
如果bbb位于不同的位置您可以呼叫一次,仅获取第一个匹配项:
console.log(/([^\s,]+),/.exec(“bbb=12m3 3be3 34f4,foo=2344 234234 dqda,baz=asdasd asdasd”)
您可以使用
/bbb=[^,]*\s([^,\s]*)/
见
详细信息
-abbb=
子字符串bbb=
-0个或更多字符,而不是[^,]*
,
-空白\s
-第1组:除逗号和空格外的零个或多个字符([^,\s]*)
var strs=['bbb=12m3 3be3 34f4,foo=2344 234 dqda,baz=asdasd asdasd','zzz=12m3 3be3 34f4,foo=2344 234 dqda,baz=asdasd asdasd','foo=2344 234 dqda,bbb=12m3 3be3 34f4,baz=asdasd asdasd'];
var regex=/bbb=[^,]*\s([^,\s]*)/;
for(var i=0;i看起来不错,但我需要bbb部分。我编辑了OP,以说明您可以始终有第二个正则表达式,只测试字符串是否以该序列开头。例如,/^bbb=/.test(str)和&/../.exec(str)
。这里看起来很棒,但似乎在我这边呕吐,指向?[1]中的点表示需要一个操作数,但找到了。@ekjcfn3902039它被调用,并可以用许多其他方式表示。您的浏览器是什么?它不在浏览器中,而是在一个名为Vert的服务器中。x@ekjcfn3902039修改后的代码与ES5兼容,以防您需要在IE中运行。我在您发送给我的链接中看到不支持NodeJs,因此Vert.x可能是sameI已经调整通过了您上面提到的所有测试用例。它现在是否按照预期工作?