recherche

Maison  >  Questions et réponses  >  le corps du texte

php - Match régulier 5 consécutifs 1212121212 ou 2121212121, les numéros peuvent être réutilisés

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.

漂亮男人漂亮男人2688 Il y a quelques jours1097

répondre à tous(6)je répondrai

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-07-05 10:00:15

    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/...

    répondre
    0
  • 大家讲道理

    大家讲道理2017-07-05 10:00:15

    >>> 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引擎不会递增索引。
    }
    

    répondre
    0
  • typecho

    typecho2017-07-05 10:00:15

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

    (([0-9]){2})+

    répondre
    0
  • 滿天的星座

    滿天的星座2017-07-05 10:00:15

    /((12){5})|((21){5})/.test(str)

    répondre
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-07-05 10:00:15

    var pattern=/(?:(1)(?=(?:21){4}2))|(?:(2)(?=(?:12){4}1))/g;
    var str="1212121212121212121212";
    console.log(str.match(pattern));

    répondre
    0
  • 高洛峰

    高洛峰2017-07-05 10:00:15

    /(w+)1{4}/

    répondre
    0
  • Annulerrépondre