как получить значение переменной из строки зная только начало и формат

Тема в разделе "Регулярные выражения", создана пользователем dmx, 6 фев 2016.

Статус темы:
Закрыта.
  1. dmx

    dmx

    Заблокирован
    Регистр.:
    22 июн 2011
    Сообщения:
    693
    Симпатии:
    611
    Нужно регуляркой из строки получить значение id, в строке расположение id= всегда меняется, но id всегда состоит из 5 цифр (это лучше не брать за основу -надо по названию)
    пример строк
    id=12345&i=123
    i=123&id=12345
    или так:
    i=123&id=12345\

    начало регулярки : (?<=id=).*

    _______
    получилось вывести так: (?<=id=).*?(?=\D)
    \D как Не число
    но правильно ли так действовать ? :nezn:

    _____________________________________

    ps не пашет так если в конце значения пусто i=123&id=12345
    :facepalm:
    pss и нужно обязательно не от цифр отталкиваться, так как регулярка нужна и для других переменных где символы в значениях и размер посимвольный не известен заранее
    :facepalm::facepalm:
     
    Последнее редактирование: 6 фев 2016
  2. javx

    javx

    Регистр.:
    28 авг 2015
    Сообщения:
    527
    Симпатии:
    252
    dmx нравится это.
  3. dmx

    dmx

    Заблокирован
    Регистр.:
    22 июн 2011
    Сообщения:
    693
    Симпатии:
    611
    Ну это впринципе подойдет для id
    А ещё нужно получить значение из другой, тут размер не известен, и состоит из цифр и символов
    name=wer123Fd
    А после значения либо \
    name=wer123Fd\
    либо ничего, то есть последняя name=wer123Fd
     
  4. javx

    javx

    Регистр.:
    28 авг 2015
    Сообщения:
    527
    Симпатии:
    252
    https://regex101.com/r/vS1gW7/3
     
    dmx нравится это.
Статус темы:
Закрыта.