我有一个10位数字的字符串,条件是连续重复的任何数字,只能重复4次,否则重复没有限制
示例:
1234567890 "match"
1213141516 "match"
1111234567 "match"
1233333456 "not match"
我该如何使用正则表达式?
答案 0 :(得分:2)
您可以使用以下正则表达式,并根据是否找到捕获组来返回'match'
或'not_match'
。
\1
将指定您要对第一个捕获组重复{4}
:
def valid_string(s, lim=10):
m = re.search(r'(\d)\1{4}', s)
return 'match' if not m and len(s)==lim else 'not_match'
valid_string('1234567890')
# 'match'
valid_string('1111234567')
# 'match'
valid_string('1233333456')
# 'not_match'
答案 1 :(得分:0)
是否有特定原因需要您使用RegEx而不是包含以下内容的简单循环?
$(document).on('mouseenter', '.row', function () {
var $this = $(this), row = $this.closest("tr");
row.addClass("hover-color");
});
$(document).on('mouseleave', '.row', function () {
var $this = $(this), row = $this.closest("tr");
row.removeClass("hover-color");
});
答案 2 :(得分:0)
^(?!\d*(\d)\1{4})\d{10}$