下面是我要修改的正则表达式,以便在延续中检查字符重复次数不超过2次,有关详细信息,请参阅以下示例。我有正则表达式来避免重复,但我需要在同一个表达式中同时使用它们。 (的 /(。)\ 1 {2} / )
例如:
$('#calendar').fullCalendar({
...
dayRender: function(date, cell){
if (date > maxDate){
$(cell).addClass('disabled');
}
}
...
});
我有
Nameee : Invalid,
Naaame : Invalid,
Name : Valid,
Naammee: Valid,
Nnname : Invalid.
答案 0 :(得分:0)
由于字符不能立即显示,因此您可以在^
之后立即将(?!.*(.)\1{2})
添加到您的模式中。您必须使用i
修饰符来确保以不区分大小写的方式处理字母。
更新的正则表达式将类似于
/^(?!.*(.)\1{2})(?!.*[AEIOU]{5}).*[AEIOU].*[A-Z\u00BF-\u1FFF\u2C00-\uD7FF]*(?:-[A-Z\u00BF-\u1FFF\u2C00-\uD7FF]*)?$/i
^^^^^^^^^^^^^^
请参阅regex demo
(?!.*(.)\1{2})
是一个负向前瞻,如果在当前位置的右边(此处,在字符串开始之后)有0个字符,然后是三倍的字符:{{ 1}}将char捕获到组1中,(.)
与组1中的值相同(由于\1{2}
反向引用)发生2次(由于\1
有限量词)。