Помогите составить регулярку, RegExp

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by geograph, 16 Sep 2009.

  1. geograph

    geograph Elder - Старейшина

    Joined:
    19 Aug 2006
    Messages:
    50
    Likes Received:
    9
    Reputations:
    5
    Господа, помогите составить регулярное выражение. Нужно в тексте найти строку, длинной 8-9 символов, содержащую маленькие латинские буквы и цифры. Но, строка обязательно должна содержать и буквы, и цифры, т.е. если строка будет полностью из букв, то она не подходит.
    Написал такую регулярку, надо подправить, чтобы подходила по условиям обозначенным выше:
    [a-z0-9]{8,9}
     
  2. Juda

    Juda Elder - Старейшина

    Joined:
    2 Aug 2008
    Messages:
    48
    Likes Received:
    8
    Reputations:
    0
    А в каком языке тебе нужен регуляр? тебе нужно пароль проверять?
     
    #2 Juda, 17 Sep 2009
    Last edited: 17 Sep 2009
  3. geograph

    geograph Elder - Старейшина

    Joined:
    19 Aug 2006
    Messages:
    50
    Likes Received:
    9
    Reputations:
    5
    На дельфи пишу, использую TRegExpr, нет не пароль, просто такую строку (типа хэша) нужно выделить из остального текста
     
  4. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    560
    Likes Received:
    650
    Reputations:
    210
    Небольшая идея, возможно, поможет:

    /(([a-z]+)|([0-9]+))(?(-1)[a-z]+|[0-9]+)[a-z0-9]*/

    Эта регулярка в стиле PCRE, отыщет строки, состоящие обязательно и из букв, и из цифр, правда длину 8-9 символов не учитывает.
     
  5. Fliplab

    Fliplab Elder - Старейшина

    Joined:
    29 Jul 2008
    Messages:
    123
    Likes Received:
    20
    Reputations:
    3
  6. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,005
    Likes Received:
    444
    Reputations:
    94
    чёрт, интересная задачка :)
    Fliplab, неа. 1)по усл-ю маленькие буквы
    2) под эту подхоят чистобуквенные/чистоцифровые

    Мне (хотя я не очень близко ружу с регекспом) приходит в голову только идея вида
    [0-9][a-z][a-z0-9]{6,7} | [a-z][0-9][a-z0-9]{6,7} | ...
    и дохрена дальше. но наверно в синтаксисе регекспа что-то более простое есть
     
  7. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    ([a-z]+[0-9]+){8,9}

    скорее типа такого

    от тыж =\ не проканает. это прокатит для сначала букв потом цифр... занятно занятно...
     
    #7 Ra$cal, 18 Sep 2009
    Last edited: 18 Sep 2009
  8. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,005
    Likes Received:
    444
    Reputations:
    94
    (...){8, 9} разве не означает, что скобка повторится 8-9 раз? тогда у тебя много раз по неотрицательному числу символов
     
  9. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    \b(?![a-z]{8,9})[0-9a-zA-Z]{8,9}\b
    вот
     
Loading...