Javascript 正则表达式按键查找并提取值

Javascript 正则表达式按键查找并提取值,javascript,regex,node.js,Javascript,Regex,Node.js,我现在尝试从字符串中提取值。 但我不能让它工作。因为我不好的正则表达式 这是我的绳子 /HAG5eHZ010C_EHZ1ZA22 0:0.0.0*255(1095100000053019) 1-0:1.8.1*255(000016.9862) 1-0:2.8.1*255(000001.5740) 1-0:96.5.5*255(80) 0-0:96.1.255*255(0000053019) 1-0:32.7.0*255(000.00*V) 1-0:52.7.0*255(000.00*V) 1-0

我现在尝试从字符串中提取值。 但我不能让它工作。因为我不好的正则表达式

这是我的绳子

/HAG5eHZ010C_EHZ1ZA22
0:0.0.0*255(1095100000053019)
1-0:1.8.1*255(000016.9862)
1-0:2.8.1*255(000001.5740)
1-0:96.5.5*255(80)
0-0:96.1.255*255(0000053019)
1-0:32.7.0*255(000.00*V)
1-0:52.7.0*255(000.00*V)
1-0:72.7.0*255(226.99*V)
1-0:31.7.0*255(000.00*A)
1-0:51.7.0*255(000.00*A)
1-0:71.7.0*255(000.22*A)
1-0:21.7.0*255(+00000*W)
1-0:41.7.0*255(+00000*W)
1-0:61.7.0*255(+00029*W)
1-0:96.50.0*0(89)
1-0:96.50.0*1(07CF)
1-0:96.50.0*2(18)
1-0:96.50.0*3(0E)
1-0:96.50.0*4(2D)
1-0:96.50.0*5(1A)
1-0:96.50.0*6(003D381B2609F5400803010700009F80)
1-0:96.50.0*7(00)
!
当我搜索0:0.0.0时,我需要1095100000053019, 或者当我搜索1-0:61.7.0时,我需要+00029*W

顺便说一句:这是一条智能计量信息。从电表红外接口出来

非常感谢你的帮助

For 0:0.0.0: /^0:0\.0\.0[^(]*\(([^)]+)\)/
For 1-0:61.7.0: /^1-0:61\.7\.0[^(]*\(([^)]+)\)/
这些都非常相似-可以建立一个模式,并根据您所关注的传感器读数改变模式


这些正则表达式假设示例中看起来像换行符的实际上是换行符

请尝试以下正则表达式模式():

<代码>var s>var s<<代码>变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异变异人士人士人士(10:0.0.0.0.0 0.0 0 0.0 0.0万0510 10 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 10 10 10 10 10 10 10-19)255(10919\r\r\r\r\r\r\r\r\r\r\r\r\n-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-1-0 0 0 0 0 0(000.00*A)\r\n1-0:51.7.0*255(000.00*A)\r\n1-0:71.7.0*255(10.22个国家的10.22个(10.22个)A)\r\n\r\n-1-1-1-1-0-0.7.0*255(10.22个(10.22个(10.22个)A)\r\r\n\r\n-1-1-1-1-1-1-21.7.7.7.22.22个(10.22个(10.22.22个)A\r\r\r\n\r\n\r\n-1-1-1-1-1-1-1-1-1-1-1-1-0.0-0.0.0.0.0.0.0.0.0-10-10-10-10-10-10-10-0.0.0-10-10-10-10-10-10-10-10-10-10-10-10-0.0.7.7.7.0-10-10-10-10-10-10-\n1-0:96.50.0*7(00)\r\n!”; 变量r=/([0-9-:.]+)\*(?:[0-9]+)\(.*)/g; var-m; 而((m=r.exec))){ document.writeln(““'+m[1]+'”=>“'+m[2]+'”
”);
}我所知道的做你想做的事情的唯一方法是使用javascript的正则表达式引擎没有的lookbehinds。你说的搜索到底是什么意思?你得到你所搜索的东西。你不能搜索一件东西又得到另一件,这不是它的工作原理。试试这个,搜索,你应该会得到一个所有匹配项的列表。当然,我必须这样做做一些假设,但我希望你能理解。