84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
For example string 1212121212121212121212
It needs to match 5 consecutive 12s or 5 consecutive 21s to be considered qualified
The number of matches should be 13, as shown in the figure below, the red lines represent matches.
Consider extraction without occupancy and use look-around to extract subgroups: (?=.*?((12|21)2{4}))
Demo link: http://regex.zjmainstay.cn/r/...
>>> import re >>> ss='1212121212121212121212' >>> re.findall(r'(?=((12|21){4}))',ss) [('1212121212', '12'), ('2121212121', '21'), ('1212121212', '12'), ('2121212121', '21'), ('1212121212', '12'), ('2121212121', '21'), ('1212121212', '12'), ('2121212121', '21'), ('1212121212', '12'), ('2121212121', '21'), ('1212121212', '12'), ('2121212121', '21'), ('1212121212', '12')]
js's Re engine is a bit rough and needs to loop back to submatches.
var str="1212121212121212121212"; var pattern=/(?=((12|21){4}))/g; while(m = pattern.exec(str)){ console.log(m[1]) pattern.lastIndex++ //由于没有消耗字符,js的Re引擎不会递增索引。 }
The question is unclear, I can only guess. .
(([0-9]){2})+
/((12){5})|((21){5})/.test(str)
var pattern=/(?:(1)(?=(?:21){4}2))|(?:(2)(?=(?:12){4}1))/g; var str="1212121212121212121212"; console.log(str.match(pattern));
/(w+)1{4}/
Consider extraction without occupancy and use look-around to extract subgroups: (?=.*?((12|21)2{4}))
Demo link: http://regex.zjmainstay.cn/r/...
js's Re engine is a bit rough and needs to loop back to submatches.
The question is unclear, I can only guess. .
/((12){5})|((21){5})/.test(str)
/(w+)1{4}/