За последние 24 часа нас посетили 22502 программиста и 1013 роботов. Сейчас ищут 624 программиста ...

Разбор Адреса

Тема в разделе "Регулярные выражения", создана пользователем SergeyPopan, 17 июл 2020.

Метки:
  1. SergeyPopan

    SergeyPopan Новичок

    С нами с:
    29 фев 2020
    Сообщения:
    2
    Симпатии:
    0
    Добрый день\вечер.

    Подскажите что я делаю не так. Нужно разобрать адрес типа - "34с4к5", на номер дома, строение, корпус.

    PHP:
    1. preg_match_all("#(.*)[кc]?(.+)[кс](.+)#")
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.745
    Симпатии:
    1.321
    Адрес:
    Лень
    PHP:
    1. <?php
    2.  
    3. $string = '34с4к5';
    4.  
    5. preg_match_all ( "#(\d+)#", $string, $res );
    6.  
    7. if ( $res[1] != [] )
    8. {
    9.     print_r ( array_combine ( [ 'house', 'structure', 'building' ], $res[1] ) );
    10. }
    PHP:
    1. (
    2.     [house] => 34
    3.     [structure] => 4
    4.     [building] => 5
    5. )
     
    lastdays нравится это.
  3. SergeyPopan

    SergeyPopan Новичок

    С нами с:
    29 фев 2020
    Сообщения:
    2
    Симпатии:
    0
    Спасибо за ответ. Я не правильно поставил вопрос.
    Строения и Корпуса могут быть, а могут и не быть.
    Так же строение и корпус могут стоять в разном порядке. Так же может быть только строение или только корпус