Javascript 使用正则表达式匹配句子中字符串的单个匹配项

Javascript 使用正则表达式匹配句子中字符串的单个匹配项,javascript,regex,Javascript,Regex,如果一句话说 “你好,你好” 测试应该返回false,但是如果 “你好,约翰” 这是真的 我想这就是我所要做的一切。/(hello){1}/一个简单的解决方案,它不会使正则表达式复杂化,但会计算给定字符串中的匹配数: function isValid(str) { return (str.match(/hello/gi) || []).length === 1; } 此正则表达式将匹配任何重复的单词: (\b\w+\b).+\1 说明: 从 代码 要检查字符串是否不包含匹配项,请执行以

如果一句话说

“你好,你好”

测试应该返回false,但是如果

“你好,约翰”

这是真的


我想这就是我所要做的一切。
/(hello){1}/

一个简单的解决方案,它不会使正则表达式复杂化,但会计算给定字符串中的匹配数:

function isValid(str) {
   return (str.match(/hello/gi) || []).length === 1;
}

此正则表达式将匹配任何重复的单词:

(\b\w+\b).+\1
说明: 从

代码 要检查字符串是否不包含匹配项,请执行以下操作:

!("testing testing 1 2 3...".match(/(\b\w+\b).+\1/)) #=> false
!("testing 1 2 3...".match(/(\b\w+\b).+\1/)) #=> true

为什么不检查一下你找到了多少对?这比尝试编写只允许一次出现的复杂正则表达式要容易得多。默认情况下,正则表达式不区分大小写吗?