Javascript Regex在操作中获取字符串

Javascript Regex在操作中获取字符串,javascript,node.js,regex,ecmascript-6,regex-group,Javascript,Node.js,Regex,Ecmascript 6,Regex Group,我需要使用带有javascript的正则表达式获取操作中涉及的元素。我知道这些字符串仅限于包含小写a-z字符、点、下划线字符和数字。我不需要抓住它们周围的元素,比如括号或除法/乘法符号。根据经验,我知道所有这些元素都至少包含一个点。例如: 对于((my.metric.name\u a-bc.test.metric)/(1000000 foo.bar.ab\u cd))*100,它应该返回my.metric.name\u a-bc.test.metric和1000000 foo.bar.ab\u

我需要使用带有javascript的正则表达式获取操作中涉及的元素。我知道这些字符串仅限于包含小写a-z字符、点、下划线字符和数字。我不需要抓住它们周围的元素,比如括号或除法/乘法符号。根据经验,我知道所有这些元素都至少包含一个点。例如:

  • 对于
    ((my.metric.name\u a-bc.test.metric)/(1000000 foo.bar.ab\u cd))*100
    ,它应该返回
    my.metric.name\u a-bc.test.metric
    1000000 foo.bar.ab\u cd

  • 对于
    100*另一个.metric.name.here
    它应该返回
    另一个.metric.name.here

  • 对于
    this*-1
    它不应该返回任何内容,因为所有元素都不包含点


谢谢

如果您确定所有字符串都是有效的,您可以使用如下内容:

const字符串=[
“((my.metric.name_a-bc.test.metric)/(1000000 foo.bar.ab_cd))*100”,
'100*另一个.metric.name.here',
'此*-1'
];
常量值=strings.flatMap((str)=>str.match(/(?:[\w-]+\)+[\w-]+/ig))