Я взял из этот учебник оракула по java regex, следующий бит:
Пересечения
Чтобы создать один класс символов, соответствующий только общим символам ко всем своим вложенным классам, используйте & &, как в [0-9 && [345]]. Эта конкретное пересечение создает только один класс символов числа, общие для обоих классов символов: 3, 4 и 5.
Введите ваше регулярное выражение: [0-9 && [345]] Введите строку ввода для поиска: 3 я нашел текст "3", начинающийся с индекса 0 и заканчивающийся индексом 1.
Почему это было бы полезно? Я имею в виду, если вы хотите создать только 345, почему вместо "пересечения" не только [ 345]?
Спасибо заранее.