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

正则表达式如何仅匹配长度不超过指定最大值的方括号内容

问题原因说明

你之前编写的\[.*?\]{,10}无法生效,是因为量词{,N}的作用范围是它前面紧邻的单个规则单元,这里相当于限制右方括号\]最多重复10次,和限制括号内部内容长度的需求完全不匹配。

对应需求的正则写法

1. 匹配包含方括号在内的完整内容(要求内部字符长度≤10)

正则:\[.{0,10}?\]
说明:将原规则中代表任意长度惰性匹配的.*?替换为.{0,10}?,直接限制方括号包裹的内容最多只有10个字符,惰性匹配规则可以避免跨多个括号匹配的问题。
如果需要更严谨的匹配(避免内部出现方括号、嵌套匹配错误),可以用如下写法:
\[[^\[\]]{0,10}\]

2. 仅匹配方括号内部的内容(要求内部字符长度≤10,不需要匹配方括号本身)

正则:(?<=\[).{0,10}?(?=\])
说明:在零宽前后断言的包裹区间内,将原规则的.*?替换为.{0,10}?即可实现长度限制。

内容的提问来源于stack exchange,提问作者Uwe.Schneider

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:06:01