Регулярное выражение ИЛИ (не работает)

Вам нужно установить новое ядро из backports, чтобы решить проблему с wifi:

Отредактируйте ваши sources. list

apt edit-sources

добавьте следующую строку:

deb http://httpredir.debian.org/debian jessie-backports main contrib non-free

Сохраните и обновите систему, затем установите новое ядро, например:

apt update
apt-get -t jessie-backports install linux-image-4.7.0-0.bpo.1-amd64
apt-get -t jessie-backports install linux-headers-4.7.0-0.bpo.1-amd64

edit

Установите linux-base из backports:

 apt-get -t jessie-backports install linux-base

Перезагрузитесь и переустановите broadcom-sta-dkms :

apt-get remove broadcom-sta-dkms bcmwl-kernel-source firmware-brcm80211 firmware-b43-installer fimware-b43legacy-installer

apt-get install dkms build-essential
apt-get -t jessie-backports install broadcom-sta-dkms broadcom-sta-source broadcom-sta-common

и перезагрузите модуль wl:

rmmod wl && modprobe wl
1
28.07.2017, 02:35
1 ответ

Регулярные выражения жадны. Они будут соответствовать первому, что они могут. (|a|b)всегда будет соответствовать нулевой строке.

Точно так же (\d{7}|\d{7}-\d{7})всегда будет соответствовать только\d{7}(или не будет соответствовать вообще ). Он никогда не перейдет ко второму варианту.

Вместо этого вы хотите (\d{7}-\d{7}|\d{7}). Но зачем так многословно?

\d{7}(-\d{7})?будет работать так же хорошо.

Таким образом, вы получаете:

Range_\d{7}(-\d{7})? 
1
27.01.2020, 23:45

Теги

Похожие вопросы