js正则判断连续相同字符【转】

//一般情况,当我们想匹配任意两个相同的字符(复杂一点就是两个相同的分组)时,往往可以借助下面的写法  
//说明:  
//(\w)用来匹配任何除了换行和制表符的字符, 而\1是对(\w)的一个引用, 所以你可以理解成: (\w)\1 就是(\w)(\w)  
//但是,  
//(\w)\1 和 (\w)(\w)的不同之处在于,  (\w)(\w)表示任意两个连续的字符, 比如Ac, MM, K9, 都可以,  
// 但(\w)\1只能是AA, CC, 99 这样连续相同的字符  
  
//所以, 你可以这样理解, \1 是对(\w)的一个实例化引用, 当(\w) 匹配到A时, \1 被表达成A, 当(\w)匹配9时, \1 被表示成9  
  
//说了这么多, 可能有些废话, 下面这个例子就很好理解了  
var str = "AA Am 99";  
var reg = /(\w)\1/g;  
str.match(reg);//输出: ["AA", "99"]  

例子

function containsRepeatingLetter(str) {  
    return /([a-zA-Z])\1/.test(str);  
}  

给定字符串 str,检查其是否包含连续重复的字母(a-zA-Z),包含返回 true,否则返回 false

你可能感兴趣的:(js正则判断连续相同字符【转】)