美文网首页前端笔记
正则实践——判断一个单词是否有重复字母

正则实践——判断一个单词是否有重复字母

作者: 周骅 | 来源:发表于2017-06-23 15:50 被阅读0次

写于2015年4月7日,最新删改于2017年5月29日,可能已过时,请谨慎参考。

要判断一个单词中是否有重复字母非常容易,先用循环尝试一次:

function isIsogram(str) {
    str = str.toLowerCase();
    for (let i = 0; i < str.length - 1; i++) {
        if (str.indexOf(str.charAt(i), i + 1) >= 0) {
            return false;
        }
    }
    return true;
}

这个方法是从左向右检查字符,尝试找出最近的一个相同字符。

换个思路,用正则来处理这个问题将无比简洁:

function isIsogram2(str) {
    return !/(.).*?\1/i.test(str);
}

匹配过程和上述循环相同,性能与循环版相当。

相关文章

  • 正则实践——判断一个单词是否有重复字母

    写于2015年4月7日,最新删改于2017年5月29日,可能已过时,请谨慎参考。 要判断一个单词中是否有重复字母非...

  • codewars(python)练习笔记四:判断单词中是否有重复

    codewars(python)练习笔记四:判断单词中是否有重复字母(不区分大小写) 题目: An isogram...

  • 正则表达式判断是不是中文

    iOS 正则表达式判断UITextField是否为全汉字,全字母,全数字,数字和字母 判断全汉字(这个问题苦恼了我...

  • iOS正则判断

    #pragma 正则判断登录密码是否正确(4-8位数字字母结合) - (BOOL)validateNumber:(...

  • 520. 检测大写字母

    内容 给定一个单词,你需要判断单词的大写使用是否正确。 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母...

  • Leetcode520. 检测大写字母

    题目 给定一个单词,你需要判断单词的大写使用是否正确。 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母...

  • 156 - Ananagrams

    输入一些单词,找出所有满足下列条件的单词:该单词不能通过字母重排,得到输入文本中的另外一个单词。在判断是否满足条件...

  • T520、检测大写字母

    给定一个单词,你需要判断单词的大写使用是否正确。我们定义,在以下情况时,单词的大写用法是正确的:全部字母都是大写,...

  • 520. 检测大写字母

    给定一个单词,你需要判断单词的大写使用是否正确。 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大...

  • 刷leetCode算法题+解析(二十九)

    检测大写字字母 题目:给定一个单词,你需要判断单词的大写使用是否正确。我们定义,在以下情况时,单词的大写用法是正确...

网友评论

    本文标题:正则实践——判断一个单词是否有重复字母

    本文链接:https://www.haomeiwen.com/subject/wnpccxtx.html