You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring @RequestMapping中,匹配仅含字母数字的URI正则表达式怎么写?

解决Spring @RequestMapping中URI参数的字母数字匹配正则问题

Hey there! 针对你在Spring @RequestMapping 注解里的URI参数匹配需求,我来给你一个精准的解决方案~

你需要的是让{param}部分仅匹配由字母(大小写均可)和数字组成的字符串,完全排除特殊字符和空格,对应的正则写法其实很简洁:

在Spring的URI模板里,你可以直接这样写:

/test/{param:[A-Za-z0-9]+}/something

为什么这个正则可行?

  • [A-Za-z0-9]:定义了允许的字符范围——所有大小写英文字母和0-9的数字
  • +:表示匹配至少一个符合上述范围的字符,确保参数不会是空值(如果需要允许空参数,可以把+换成*,但从你的示例来看应该不需要)

对应你的示例验证:

  • ✅ 有效匹配:
    • /test/My1Self123/something:全为字母数字,完全匹配
    • /test/1MySelf123/something:以数字开头,依然符合字符范围,匹配成功
    • /test/MySe12Lf34/something:字母与数字混合排列,匹配成功
  • ❌ 匹配失败:
    • /test/_Mys1Elf/something:包含下划线_,不在允许的字符范围内
    • /test/!_ Myself/something:包含感叹号、下划线和空格,均不符合规则

这里要注意,Spring会自动把这个正则应用到整个路径分段上,所以不需要额外添加^(开头)和$(结尾)锚点,框架会帮你处理边界匹配。

内容的提问来源于stack exchange,提问作者The IT Dejan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:42:04