За последние 24 часа нас посетили 21438 программистов и 1695 роботов. Сейчас ищут 1903 программиста ...

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

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

  1. bogong

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

    С нами с:
    20 май 2010
    Сообщения:
    114
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    1. module:function(param1,param2,...,paramN)
    2. TextSimlinkURL
    3. TextSimlinkURL:param1(value),param2(value),...,paramN(value)

    Соответствие строгое

    Добавлено спустя 6 минут 17 секунд:
    Встаю в ступор на повторяющихся параметрах, выдает либо только первый либо только последний
    Код (Text):
    1. ^([a-zA-Z0-9]{1,})\:([a-zA-Z0-9]{1,})\(([a-zA-Z0-9,]*)\)$
    Это к первому выражению
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    ктонибудь чтонибудь понял?
     
  3. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
  4. bogong

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

    С нами с:
    20 май 2010
    Сообщения:
    114
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Мне нужно составить регулярки под те выражения которые я написал выше ... Самостоятельно справиться не получается. В прошлом сообщении написаны примеры приходящих мне выражений, и которые нужно определить и разбить на части при помощи регулярки. Нужно строгое соответствие этим выражениям.

    1. [имя модуля]:[имя функции]([param1],[param2], ..., [paramN])
    Сначала идет имя модуля, потом имя функции, потом параметры которые могут быть а могут не быть
    2. Строка в верблюжьей нотации, только буквы и цифры без пробелов
    3. [строка с верблюжьей нотацией]:[param1],[param2], ..., [paramN]

    Соответсвие должно быть строгое. Везде используются только буквы и цифры, никаких символов кроме ":" "," "( )"
     
  5. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Код (PHP):
    1. $matches=array();
    2. $string='module:function(param1,param2,...,paramN)';
    3. preg_match('/(\w+):(\w+)\((.*)\)/',$string,$matches);
    4. print_r($matches);