距开课0天0时0分-9622194秒
漂亮男人2017-07-05 09:58:15 0 6 428
[PHP讨论组]举报回复话题 ↕
例如字符串 1212121212121212121212
需要匹配连续出现5个12或者连续出现5个21都算符合条件
匹配个数应该是13个,如下图,红色线的代表符合的。
6
0
分享
曾经蜡笔没有小新 2017-07-05 10:00:156楼
考虑不占位提取,使用环视提取子分组:(?=.*?((12|21)\2{4}))
demo链接:http://regex.zjmainstay.cn/r/...
赞 +0添加回复
大家讲道理 2017-07-05 10:00:155楼
>>> import re >>> ss='1212121212121212121212' >>> re.findall(r'(?=((12|21)\2{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)\2{4}))/g; while(m = pattern.exec(str)){ console.log(m[1]) pattern.lastIndex++ //由于没有消耗字符,js的Re引擎不会递增索引。 }
typecho 2017-07-05 10:00:154楼
问题不清,只能猜了。。
(([0-9]){2})+
滿天的星座 2017-07-05 10:00:153楼
/((12){5})|((21){5})/.test(str)
女神的闺蜜爱上我 2017-07-05 10:00:152楼
var pattern=/(?:(1)(?=(?:21){4}2))|(?:(2)(?=(?:12){4}1))/g; var str="1212121212121212121212"; console.log(str.match(pattern));
小葫芦 2017-07-05 10:00:151楼
/(w+)1{4}/
曾经蜡笔没有小新 2017-07-05 10:00:156楼
考虑不占位提取,使用环视提取子分组:(?=.*?((12|21)\2{4}))
demo链接:http://regex.zjmainstay.cn/r/...
赞 +0添加回复
大家讲道理 2017-07-05 10:00:155楼
js的Re引擎有点粗糙,需要循环返回子匹配。
赞 +0添加回复
typecho 2017-07-05 10:00:154楼
问题不清,只能猜了。。
赞 +0添加回复
滿天的星座 2017-07-05 10:00:153楼
/((12){5})|((21){5})/.test(str)
赞 +0添加回复
女神的闺蜜爱上我 2017-07-05 10:00:152楼
赞 +0添加回复
小葫芦 2017-07-05 10:00:151楼
/(w+)1{4}/
赞 +0添加回复