URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5060
[ Назад ]

Исходное сообщение
"Регулярное выражение для поиска по шаблону кроме одного"

Отправлено micis , 18-Янв-06 09:53 
Как написать регулярное выражение, которое бы "ловила" всё по указанному шаблону, но кроме одного фиксированного значения (но которе совпадает с этим шаблоном)?
Да ясности вот пример: надо ловить все двузначные числа, но кроме какого-то одного, например, 23.
Естественно, надо это сделать _одним_ выражением!

Содержание

Сообщения в этом обсуждении
"Регулярное выражение для поиска по шаблону кроме одного"
Отправлено veslo , 18-Янв-06 13:57 
Пример, боюсь, ты слишком упростил, ибо с ним-то всё ну предельно просто, решается "в лоб": [013-9][0-24-9]

"Регулярное выражение для поиска по шаблону кроме одного"
Отправлено madskull , 18-Янв-06 14:25 
>Пример, боюсь, ты слишком упростил, ибо с ним-то всё ну предельно просто,
>решается "в лоб": [013-9][0-24-9]

Как раз "в лоб" и не решается - твой пример выкинет весь второй десяток и все с трешкой на конце.



"Регулярное выражение для поиска по шаблону кроме одного"
Отправлено madskull , 18-Янв-06 14:39 
Да, собственно, про решение я и забыл :)
Конкретно для приведенного примера:
/(?!23)\d\d/


"Регулярное выражение для поиска по шаблону кроме одного"
Отправлено ACCA , 19-Янв-06 12:30 
>Да, собственно, про решение я и забыл :)
>Конкретно для приведенного примера:
>/(?!23)\d\d/

Специфично для Perl. Для всяких sed/awk придётся сделать

/[013-9][0-9]|2[0124-9]/


А для тупых я бы всё-таки написал два выражения.