1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Regex

Тема в разделе "Lotus - Xpages", создана пользователем NickProstoNick, 18 мар 2014.

  1. NickProstoNick

    NickProstoNick Статус как статус :)
    Lotus team

    Репутация:
    0
    Регистрация:
    22 авг 2008
    Сообщения:
    1.784
    Симпатии:
    42
    Всем привет!
    Уже мозг сломал, но все равно не могу решить вопрос с BB-кодами.
    Ситуация вот какая... нужно регулярное выражение для строки цитаты.
    Код:
    [quote="name, post: 12345"]comment[/quote]
    получилось такое выражение
    Код:
    \[quote.*?(name='(.*?)').*?(post='(.*?)')(?:=([^\\]]+))?]
    Но чувствительно к наличию всех параметров :ooo:
    А хотелось бы не зависеть от параметров, но и не выбрасывать их. Плюс ко всему - комментарий в комментарии.
    Помогите плиз
     
  2. NickProstoNick

    NickProstoNick Статус как статус :)
    Lotus team

    Репутация:
    0
    Регистрация:
    22 авг 2008
    Сообщения:
    1.784
    Симпатии:
    42
    Вопрос снят.
    Вот такая регулярка получилась
    <!--shcode--><pre><code class='perl'>\[quote(.*?)(name='(.*?)'.?)?(post='(.*?)')?][/CODE]
     
  3. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.375
    Симпатии:
    336
    ? - заменяет space, я так понимаю ;) еще есть \s и \t (табуляция) но вот в каких регэкспах (движках) - не помню
    цель просто смэтчить? - просто непонятны скобки - они обычно для дальнейшей параметризации (замены например, с подстановкой совпавшего)

    символ и более одного - .+ (звездочка непонятна)
    для post - надо только цифры оставить \d+
    http://www.w3schools.com/jsref/jsref_obj_regexp.asp
     
  4. NickProstoNick

    NickProstoNick Статус как статус :)
    Lotus team

    Репутация:
    0
    Регистрация:
    22 авг 2008
    Сообщения:
    1.784
    Симпатии:
    42
    Это все методом научного тыка по образу и подобию.
    Такая строка позволяет работать с bb-кодом вида

    Код:
    [quote="name, post: 12345"]comment[/quote]
    [quote post='12345']comment[/quote]
    [quote="name"]comment[/quote]
    [quote]comment[/quote]
    Если есть предложить что-то правильней - буду признателен
    ? - одно вхождение или ни одного
    скобки - разделение результатов по блокам
     
  5. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.375
    Симпатии:
    336
    я говорил о скобках, что они, в основном, для подстановки
    т.е. взять результат соответствия по номеру и вставить его в др. место (в кач. подстроки)
     
Загрузка...
Похожие Темы - Regex
  1. Brabus
    Ответов:
    5
    Просмотров:
    2.463

Поделиться этой страницей