Подтвердить что ты не робот

Что означает [^ *]?

Итак, [^x] означает, что не соответствует "x", а x* означает совпадение "x" 0 или более раз, но что означает [^*]?

4b9b3361

Ответ 1

Это означает, что "соответствует символу, который не является буквальным символом звездочки".

Следует иметь в виду, что метасимволы класса символов не должны быть экранированы, поэтому [^*] совпадает с [^\*]. Аналогично, вы можете использовать [.] для ссылки на литеральную точку, а не на метасимвол, относящийся к любому символу. Вне класса символов вам нужно будет сбежать от него: \..

Ответ 2

Это означает одно появление символа, который не является фактическим символом *. Не требуется escape-символ, потому что звездочка не имеет особого значения внутри класса символов. Это не должно быть удивительно, так как символ carat ^ также имеет совершенно иное значение внутри класса символов.

Ответ 3

* не имеет особого значения внутри класса символов , поэтому он означает буквально "нечто, что не *". Единственными символами, которые имеют особое значение внутри классов символов, являются -, ^ и ]. Кроме этого все воспринимается буквально. Например, [^.] означает "нечто, что не .", так же как [^$] означает "что-то, что не $".

Ответ 4

Поисковая система symbolhound - хорошая ставка для поиска символа, подобного этому. Вот результаты для [^ *]:

[раскрытие: о команде SH]