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

求符合单行长≤5、总行数≤10的正则表达式解决方案

正则表达式校验方案建议

正确的正则表达式

针对「每行字符长度≤5、总行数≤10、每行均符合长度要求」的校验规则,适配Java @Pattern 注解的正确正则表达式如下:

@Pattern(regexp = "^[a-zA-Z0-9 ]{1,5}(?:\\n[a-zA-Z0-9 ]{1,5}){0,9}$")

规则解析

  • ^:匹配输入字符串的起始位置
  • [a-zA-Z0-9 ]{1,5}:匹配第一行内容,允许大小写字母、数字、空格,长度限制为1-5位
  • (?:\\n[a-zA-Z0-9 ]{1,5}){0,9}:匹配后续0-9行(加上第一行总共最多10行),(?:...)为非捕获组,避免冗余分组存储;\\n匹配换行符,后续紧跟每行的合法内容
  • $:匹配输入字符串的结束位置

输入示例

有效输入

123A
123
12345
123
123
123
123
12345
12345
Test

无效输入

12345
123
12345
123
123
123
123
12345
12345
Test123123

原正则问题说明

你之前使用的^([a-zA-Z0-9 \n]{1,10}+$存在两处核心问题:

  • 语法错误:括号不匹配(缺少闭合)),且多余的+符号导致逻辑混乱
  • 逻辑错误:仅笼统限制总长度1-10位,未对每行长度、行数做精准约束,完全无法满足需求

内容的提问来源于stack exchange,提问作者brazil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 14:18:14