1. Начата процедура восстановления социальных групп. Лидерам старых и новых групп обязательно ознакомиться с регламентом проведения работ.

Помогу с регвырами

Тема в разделе 'Регулярные выражения', создана пользователем zek24, 17 июл 2011.

  1. TopicStarter Overlay

    zek24

    Moderator
    Привет,
    нужна практика с регвырами.
    Так что, если вам лень или не умеете, то можете смело обращаться.
    Не обещаю, что помогу, но точно постараюсь.
  2. Делал 3 подхода , но пока не нашёл верного ответа на свою задачу. Предлагаю разобраться всем :).
    ВХодный данные:
    имеем на входе сумму которая отображается как ХХХ ХХХ.ХХ, необходимо её вынуть. Если число будет увеличено на 10 то получим ещё один блок и число будет выглядеть как Х ХХХ ХХХ.ХХ, но чаще всего встречается как ХХХ.ХХ.
    Число может быть положительным так и иметь знак -.
    Сечас пробую такое выражение , не всегда помогает...
    '-??(\d{1,3}?.)?\d{1,3},\d{1,2}'
    Помогите разобраться.
  3. попробуй так
    PHP:
    '/[-]?\d{1,3}?\s?\d{1,3}?\s?\d{1,3}+\.\d{1,2}+/is'
  4. Наверное стоит добавить, что употребляется это все в python.
    zzallexx, получил ошибку ре, не верное выражение ( raise error, v # invalid expression sre_constants.error: multiple repeat)
  5. Помогите со следующей задачей:

    регуляркой на javascript нужно выделить все слова вида: #xxx , и @xxx.

    В конце этих слов должен стоять пробел, неразрывный пробел, запятая, точка. Слова могут стоять в начале и в конце текста.
  6. При переборе ключевых слов из базы надо выбирать такие, которые содержат только 1, 2 и 3 слова.

    В данный момент пользуюсь таким
    Код:
    ^(\w+\s){1,3}+$
    но это работает только если в конце строки есть пробел.

    Может есть вариант что бы работало и без пробела в конце ?
    Спасибо
  7. TopicStarter Overlay

    zek24

    Moderator
    У меня получилось как-то так
    Код:
    /[#@](.){3}[ ,.]/gi
    Желательно, на будущее, давать часть текста для которого нужен регвыр.
  8. Не совсем то:
    - может быть любое количество букв в теге, а не только 3.
    - не находит тег в таком выражении: ' #1234' (если тег в конце строки)
    - в данном выражении: ' x#eee ' тега нет, но его находит
    - из такого текста ' #mmmm, ', нужно выделить только '#mmmm', и не захватывать запятую
  9. Здравствуйте, есть текст:
    PHP:
    $str=
    [spoiler] 
    Спойлер-1 
    [/spoiler] 
    [spoiler] 
    Спойлер-2 
      [spoiler] 
      Спойлер-2-1 
      [/spoiler] 
      [spoiler] 
      Спойлер-2-2 
        [spoiler] 
        Спойлер-2-2-1 
        [/spoiler] 
      [/spoiler] 
      [spoiler] 
      Спойлер-2-3 
      [/spoiler] 
    [/spoiler] 
    [spoiler] 
    Спойлер-3-s
    [/spoiler] 
    '
    ;
    Нужна регулярка, которая бы нашла текст между [spoiler] [/spoiler], в которых нет вложенного [spoiler], т.е из текста выше регулярка должна вернуть:
    Код:
    [0]=>Спойлер-1
    [1]=>Спойлер-2-1
    [2]=>Спойлер-2-2-1
    [3]=>Спойлер-2-3
    [4]=>Спойлер-3-s
    ==============

    Monterpan, вот это для какого писали?

    Попробуй так:
    Код:
    /(\s|^)[#@](.+?)(,|\.|\s|$)/gi
    Пример работы: http://regexr.com?2udmm
  10. 030230230233

    имеем номер, необходимо первых три цифры взять в скобки, чтобы было так:

    (030)230230233

    Нужно для PHP preg_replace. Заранее - большое спасибо!