Под чем Вы подразумеваете
, "но это не будет действовать как реальный полностью функциональный интерфейс (если исходный интерфейс будет неактивен, то полученный также неактивен"
?
я могу сделать новый интерфейс, основывать его на уже существующем, затем отключить существующий, и новый все еще работает. Создание второго интерфейса однако не создает реальный интерфейс (когда Вы сверитесь с ifconfig), это уже просто присвоит второй IP существующий один (однако, этот может быть DHCP, в то время как первый трудно кодируется, например).
, Таким образом, я понимал Вас правильный, что Вы хотите создать интерфейс, не связанный с каким-либо реальным интерфейсом? Как это взаимодействовало бы через интерфейс затем использоваться? Например, если бы Вы разъединяете весь WLAN и вытягиваете все сетевые кабели, куда этот интерфейс отправил бы трафик в при отправке трафика в него? Возможно, Ваш вопрос немного неясен, могло бы помочь много, если перефразируют его, таким образом, ясно, что Вы на самом деле пытаетесь сделать с этим "виртуальным интерфейсом", как только у Вас есть он.
, Поскольку Вы упомянули "IP псевдонима" в Вашем вопросе, это будет означать интерфейс псевдонима. Но интерфейс псевдонима всегда связывается с реальным интерфейсом. Различие находится в Linux, который такой интерфейс действительно интерфейс (например, интерфейс псевдонима для eth0 мог быть eth1), в то время как на Mac, никакой реальный интерфейс создается, вместо этого виртуальный интерфейс создается, который может настроенный и используемый независимо, но это - все еще тот же интерфейс физически, и таким образом никакой новый именованный интерфейс не сгенерирован (у Вас просто есть два интерфейса, которые являются оба на самом деле en0, но оба могут быть позволены/отключены и настроены независимо).
И чтобы расширить ответ Пола, включив в него значения десятичных знаков ...
(\d+).?(\d*)\s*(m|cm|km)
Попробуйте следующее:
(?:0|[1-9]\d*)\s*(?:da|[yzafpnμmcdhkMGTPEZY])?m
Поскольку вы точно не указали, что вам нужно, я использовал ваши примеры, чтобы вывести, что вы хотите найти целочисленное значение, за которым следует необязательный пробел, за которым следует спецификатор единицы измерения в см, м или км. Итак - это простейший пример этого.
/(\d+)\s*(m|cm|km)/
Первые круглые скобки фиксируют число, затем пропускаются 0-многие пробельные символы перед захватом требуемых единиц во втором наборе круглых скобок.
Как вы можете видеть в других ответах , вы можете выйти за рамки этого, чтобы выбрать десятичные значения, а также захватить большее количество префиксов единиц СИ.