例如,如果我有字符串:
0123456789
我会写这样的表达式:
0.*9 WHERE PATTERN MAX SIZE is 3. in this case, pattern should fail.
您的示例的具体解决方案是:
/^0.?9$/
Run Code Online (Sandbox Code Playgroud)
您的抽象问题的一般解决方案是:
/^(?=.{0,3}$)0.*9$/
Run Code Online (Sandbox Code Playgroud)
上面(?=.{0,3}$)
是字符串其余部分长度在 0 到 3 之间的前瞻。
x{min,max}
将在最短和最大次数之间匹配 x
x{min,}
将至少匹配 x 最短次数
x{,max}
将匹配 x 最多最大次数
x{n}
将匹配 x 精确 n 次
所有范围均包含在内。
快捷键:{0,1}
=> ?
、{0,}
=> *
、{1,}
=> +
。
我不确定这是否正是您所需要的,但它应该可以帮助您构建正则表达式。
示例:^0\d{,3}9$
将匹配最多 5 个以 0 开头、以 9 结尾的数字的字符串。匹配:0339
, 06319
, 09
。不匹配:033429
,1449
。