如何在没有重复的字母上检查正则表达式 true

How to check regex true on no repeating letters?

本文关键字:检查 true 正则表达式      更新时间:2023-09-26

我需要检查一个单词是否是Isogram,Isogram的含义是单词没有重复的字母。

我需要实现一个函数来确定仅包含字母的字符串是否为等值线。假设空字符串是等值线。忽略字母大小写。

这是一个测试用例

isIsogram( "Dermatoglyphics" ) == true
isIsogram( "aba" ) == false
isIsogram( "moOse" ) == false // -- ignore letter case

我正在考虑使用正则表达式执行此操作。

function isIsogram(str){
  //...
}

你能帮忙吗?

这么简单

function isIsogram (str) {
    return !/('w).*'1/i.test(str);
}

这将可以:

function isIsogram (str) {
    return !/(.).*'1/.test(str);
}

您可以通过将输入转换为小写来使用它:

var re = /^(?:([a-z])(?!.*'1))*$/;
function isIsogram(str) {
   return re.test( str.toLowerCase() );
}

测试:

isIsogram("Dermatoglyphics")
true
re.test("aba")
false
isIsogram("moOse")
false