例如字串 1212121212121212121212
需要配對連續出現5個12或連續出現5個21都算符合條件
匹配個數應該是13個,如下圖,紅色線的代表符合的。
考慮不佔位提取,使用環視提取子分組:(?=.*?((12|21)2{4}))
demo連結: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的Re引擎有點粗糙,需要循環回傳子匹配。
var str="1212121212121212121212"; var pattern=/(?=((12|21){4}))/g; while(m = pattern.exec(str)){ console.log(m[1]) pattern.lastIndex++ //由于没有消耗字符,js的Re引擎不会递增索引。 }
問題不清,只能猜了。 。
(([0-9]){2})+
/((12){5})|((21){5})/.test(str)
雷雷
/(w+)1{4}/
考慮不佔位提取,使用環視提取子分組:(?=.*?((12|21)2{4}))
demo連結:http://regex.zjmainstay.cn/r/...
js的Re引擎有點粗糙,需要循環回傳子匹配。
問題不清,只能猜了。 。
/((12){5})|((21){5})/.test(str)
雷雷
/(w+)1{4}/