Скажем, это очень легко, если я хочу найти что-то, содержащее строчные буквы и цифры с
производим_текст | grep -E '[0-9a-z]'
Скобки полезны для сопоставления с набором символов, но как насчет тех, которые являются чем-то особенным?
Если я хочу, используя скобки, сопоставить любой символ, кроме одного из них: закрывающую скобку ]
, тире (или дефис) «-», обе косые черты /
и \
каретку ^
, двоеточие :
.
Будет ли это выглядеть так (я знаю, что это не работает)?
[^] - / \ ^:]
awk
реализаций,perl
например.[^-]]
(это не удается)?^
есть,]
так[^-]]
что он не сработает, даже если оба^
и]
будут трактоваться буквально (просто как[b-a]
). В любом случае, если вы хотите сопоставить, например,;
с закрывающей скобкой, вы можете использовать диапазон до символа раньше]
(который является обратной косой чертой) и включить в]
качестве первого символа в скобке выражение, например[];-\\]
.[[.^.]-[.-.]]
? У меня есть ощущение, что это сработает. Давайте предположим, что код ASCII^
раньше-
.[^[.].][.-.]/\^:]
Странно, возможно, вам нужно иметь пару символов в определенных местах. Вы должны иметь
]
в качестве первого символа в наборе, и-
должен быть последним символом в наборе.Вот RE, который отвечает вашим требованиям
[^]\^/-]
:источник
[
персонаж не принадлежит там; ОП не хочет исключать это.