javascript正则表达式查找只包含一个点的单词

javascript正则表达式查找只包含一个点的单词,javascript,regex,Javascript,Regex,我有一个计划: var str = "ac.def=1 and xy.z.kt='10' and k.t=1 or xy.z.kt.lm='10'"; var regex = new RegExp('^[a-zA-Z0-9,]*[.]{1}[^=]'); var result = str.split(" ").filter((elem, index) => { return regex.test(elem); }) console.log(result); 我得到的结果是:[“

我有一个计划:

var str = "ac.def=1 and xy.z.kt='10' and k.t=1 or xy.z.kt.lm='10'";
var regex = new RegExp('^[a-zA-Z0-9,]*[.]{1}[^=]');
var result = str.split(" ").filter((elem, index) => {
    return regex.test(elem);
})

console.log(result);
我得到的结果是:
[“ac.def=1”,“xy.z.kt='10',“k.t=1”,“xy.z.kt.lm='10'”

但我只需要得到:
[“abc.def=1”,“k.t=1”]


据说,我的问题可能与so lets close stackoverflow永远重复,因为所有关于软件编程的问题都在他们自己的官方文件中有答案


在将问题标记为可能的官方文件副本时,请小心。否则,我们应该关闭所有关于regex的问题,因为它足以解决所有关于regex的问题。对吗?

您可以使用
/^[^.]*\.[^.]*$/
正则表达式:

var str=“ac.def=1和xy.z.kt='10'和k.t=1或xy.z.kt.lm='10';
var regex=/^[^.]*\.[^.]*$/;
变量结果=str.split(“”)。过滤器((元素,索引)=>{
返回正则表达式测试(elem);
})

控制台日志(结果)是否要选择的可能重复项是
ac.def=1.5
还是
def=1.5
太多?@否,因为有2个dots@WiktorStribiżew看着他提供的正则表达式,似乎他只希望作业的左侧有一个点,而不管作业的右侧有多少个点。虽然不确定……那么,
/^[^.=]*\.[^.=]*=/
就可以了。@Cid刚刚添加了解释和。如果单词只包含一个
?@土豆,那么它会被提取出来。