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

Когда мне нужно избегать символов в наборе регулярных выражений (в [])?

Являются ли правила того, что я убегаю в скобке, отличной от того, что я делаю вне скобок?

Например, следует избегать ? внутри скобки? Это /blah[^?]/ или /blah[^\?]/

Являются ли правила для скобок разными, чем нет, или я должен избегать обоих?

4b9b3361

Ответ 1

Единственное, что нужно скопировать в скобки, - это закрывающая скобка, а минус, если она не является начальной или конечной, и шляпа, если она является исходной, AFAIK. И, очевидно, обратная косая черта.

Причина в том, что это единственные персонажи, имеющие особое значение внутри скобок. Закрывающая скобка заканчивает скобки, средняя строка минус указывает диапазон, а начальная шляпа отрицает класс кронштейна. Все остальное должно быть буквально истолковано. Обратная косая черта - это escape-символ, поэтому вам нужна двойная обратная косая черта, чтобы соответствовать буквальному обратному косую черту.