За последние 24 часа нас посетили 18867 программистов и 1652 робота. Сейчас ищут 858 программистов ...

Regex для preg_split

Тема в разделе "Регулярные выражения", создана пользователем Krasilich, 1 мар 2010.

  1. Krasilich

    Krasilich Активный пользователь

    С нами с:
    12 фев 2010
    Сообщения:
    14
    Симпатии:
    0
    Нужно разбить строку по прямой черте
    Код (Text):
    1. |
    Но только в том случае, если черта не находится внутри квадратных скобок
    Код (Text):
    1.  [ ]
    Тоесть строка
    Код (Text):
    1. str|ing[str|ing]
    должна быть разбита на
    Код (Text):
    1. str
    и
    Код (Text):
    1. ing[stri|ing]
    Заранее благодарен за любые подсказки оп вопросу.
     
  2. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Krasilich
    а в строке квадратные скобки всегда закрываются?
     
  3. Krasilich

    Krasilich Активный пользователь

    С нами с:
    12 фев 2010
    Сообщения:
    14
    Симпатии:
    0
    Да, закрываются. И могут быть вложенными до 2 уровня.
     
  4. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Krasilich
    а вот так может быть [ | [ ] ] ?
     
  5. Krasilich

    Krasilich Активный пользователь

    С нами с:
    12 фев 2010
    Сообщения:
    14
    Симпатии:
    0
    скажем так, внутри внешних скобок будет строка - регулярное выражение. Тоесть там может быть все, что допустимо для регулярки. Указанный Padaboo вариант теоретически может существовать например
    Код (Text):
    1.  
    2. func1|func2[|[a-z0-9]+|iu]