php - Match régulier 5 consécutifs 1212121212 ou 2121212121, les numéros peuvent être réutilisés
漂亮男人
漂亮男人 2017-07-05 09:58:15
0
6
1050

Par exemple, la chaîne 1212121212121212121212

Vous devez faire correspondre 5 12 consécutifs ou 5 21 consécutifs pour être considéré comme éligible

Le nombre de correspondances doit être de 13, comme le montre l'image ci-dessous, les lignes rouges représentent les correspondances.

漂亮男人
漂亮男人

répondre à tous(6)
曾经蜡笔没有小新

Envisagez l'extraction sans occupation et utilisez la recherche pour extraire les sous-groupes : (?=.*?((12|21)2{4}))

Lien de démonstration : 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')]

Le moteur Re de

js est un peu approximatif et doit revenir aux sous-correspondances.

var str="1212121212121212121212";
var pattern=/(?=((12|21){4}))/g;
while(m = pattern.exec(str)){
    console.log(m[1])
    pattern.lastIndex++ //由于没有消耗字符,js的Re引擎不会递增索引。
}
typecho

La question n'est pas claire, je ne peux que deviner. .

(([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}/

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!