Вы используете [
и ]
, которые обозначают класс символов, который будет соответствовать любому из перечисленных один раз. Использование \d+
будет соответствовать либо цифре, либо символу +
.
Если вы добавите квантификатор, такой как +
, к самому классу символов, вы будете повторять любой из перечисленных, но у вас не будет ИЛИлогика.
Вы должны использовать трубу |
для части ИЛИ, которая будет соответствовать либо подчеркиванию, ИЛИ косой черте, за которой следуют 1+ цифр.
Чтобы также соответствовать одиночной косой черте, которую вы могли бы сопоставить0+ цифр с использованием *
вместо +
_|/\d+
regex demo
Примечание для двойного экранирования обратной косой черты в Java_|/\\d+