Regex

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

  1. NickProstoNick

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

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

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

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

    lmike нет, пердело совершенство
    Команда форума Lotus team

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

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

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

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

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

    lmike нет, пердело совершенство
    Команда форума Lotus team

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

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