Регулярное выражение соответствует строке, которая может содержать только символы и цифры

Я работаю над весной @RequestMapping

Скажем, у меня есть URI: /test/{param: REGEX}/something или просто /test/REGEX/something для не-весенних людей.

В части REGEX я хочу захватить любую строку, которая может содержать только буквы и цифры. Никаких специальных символов, никаких пробелов. Например :

valid -> test/My1Self123/something
valid -> test/1MySelf123/something
valid -> test/MySe12Lf34/something
invalid -> test/_Mys1Elf/something
invalid -> test/!_ Myself/something

Как бы выглядело это выражение? Я пробовал много комбинаций regexr и regex101, но это не дало мне именно то, что я хотел.


person Desomph    schedule 25.05.2018    source источник
comment
Можете ли вы поделиться тем, что вы пробовали?   -  person The fourth bird    schedule 25.05.2018
comment
Я, возможно, действительно понял это. Я пробовал варианты \/(\w+|\d+)\/, и похоже, что мое тестирование не сработало, потому что я забыл включить символы / :/   -  person Desomph    schedule 25.05.2018
comment
Вероятно, [A-Za-z0-9]+ достаточно.   -  person Wiktor Stribiżew    schedule 25.05.2018


Ответы (2)


Я думаю, что что-то вроде этого должно соответствовать только числам и символам:

[0-9a-zA-Z]+

в регулярном выражении.

person Bernd Schuhmacher    schedule 25.05.2018
comment
Да, это тоже вариант решения. :) Спасибо! - person Desomph; 25.05.2018

Извиняюсь, но я разобрался.

\/(\w+|\d+)\/

Это решило это для меня, потому что я забыл включить \/ \/ в онлайн-тестерах регулярных выражений, и это соответствовало многим группам, которые мне не нужны.
Изменить: в итоге я использовал ответ выше моего.

person Desomph    schedule 25.05.2018
comment
Не используйте \w, если вы не хотите совпадать с символами подчеркивания. Предлагаемое вами решение соответствует test/_Mys1Elf/something, которое, по вашему мнению, должно быть недействительным. - person Aaron; 25.05.2018
comment
О, да, я заметил через некоторое время. Я использовал ответ выше. :) - person Desomph; 25.05.2018