Это соответствует чему угодно, но символы, перечисленные после каретки ^
. Это класс характер всех персонажей без перечисленных из них:
pattern('^(){}');
Это также работает (обратите внимание на .not()
на последнем символе, а any()
фактически потребляют символ):
char('(').not() & char(')').not() & char('{').not() & char('}').not() & any()
И это один работает, а также:
anyIn('(){}').neg()
Что эквивалентен:
(anyIn('(){}').not() & any()).pick(1)
И еще одна альтернатива:
(char('(') | char(')') | char('{') | char('}')).neg()
для второго примера, кроме того, все примеры возвращают анализируемый символ (это может быть легко исправить, но я хотел бы остаться близко к вашему вопросу). Первый пример, вероятно, проще всего понять, но в зависимости от контекста вы можете предпочесть один из альтернатив.
Спасибо, спасибо, спасибо! – Freewind