Heim  >  Fragen und Antworten  >  Hauptteil

php - Reguläre Übereinstimmung mit 5 aufeinanderfolgenden Nummern 1212121212 oder 2121212121, Zahlen können wiederverwendet werden

Zum Beispiel die Zeichenfolge 1212121212121212121212

Sie müssen 5 aufeinanderfolgende 12er oder 5 aufeinanderfolgende 21er erreichen, um als teilnahmeberechtigt zu gelten

Die Anzahl der Übereinstimmungen sollte 13 betragen, wie im Bild unten gezeigt, die roten Linien stellen Übereinstimmungen dar.

漂亮男人漂亮男人2687 Tage vor1090

Antworte allen(6)Ich werde antworten

  • 曾经蜡笔没有小新

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

    考虑不占位提取,使用环视提取子分组:(?=.*?((12|21)\2{4}))

    demo链接:http://regex.zjmainstay.cn/r/...

    Antwort
    0
  • 大家讲道理

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

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

    Antwort
    0
  • typecho

    typecho2017-07-05 10:00:15

    问题不清,只能猜了。。

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

    Antwort
    0
  • 滿天的星座

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

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

    Antwort
    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));

    Antwort
    0
  • 高洛峰

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

    /(w+)1{4}/

    Antwort
    0
  • StornierenAntwort