После перебора в regex101 в течение нескольких минут, я понял, что ]
не нужно экранировать, если он немедленно обращается к [
.
В regex101 шаблон []-a-z]
описывается как
/[]-a-z]/ []-a-z] match a single character present in the list below ]-a a single character in the range between ] and a (case sensitive) -z a single character in the list -z literally (case sensitive)
Но я всегда думал, что если -
нужно подбирать буквально, не избегая его, он должен либо идти в начале, либо в конце.
Затем почему мой шаблон не распознан как ошибка? Почему -z
буквально соответствует одному символу в списке -z
?