Regex 如何修改此正则表达式以要求特定的数字范围并允许空字符串?

Regex 如何修改此正则表达式以要求特定的数字范围并允许空字符串?,regex,Regex,我有以下正则表达式: ^([1-9]){3,5}[1-8]$ 它可以将字符串限制在某个范围内,但现在我需要更改它,以便它也允许空字符串。我该怎么做 ^(([1-9]){3,5}[1-8])?$ 使用(?:如果您关心捕获的组,如果您不关心,您可以删除[1-9]周围的括号。但是,必须保留整个序列周围的括号,因此?量词仍然正确适用(前面的组为零或一次)。因此稍微短一点(可能更正确)的版本是: ^(?:\d{3,5}[1-8])?$ 这将只返回一个匹配项,即整个输入字符串。这应该可以: ^(|([

我有以下正则表达式:

^([1-9]){3,5}[1-8]$
它可以将字符串限制在某个范围内,但现在我需要更改它,以便它也允许空字符串。我该怎么做

^(([1-9]){3,5}[1-8])?$
使用
(?:
如果您关心捕获的组,如果您不关心,您可以删除
[1-9]
周围的括号。但是,必须保留整个序列周围的括号,因此
量词仍然正确适用(前面的组为零或一次)。因此稍微短一点(可能更正确)的版本是:

^(?:\d{3,5}[1-8])?$
这将只返回一个匹配项,即整个输入字符串。

这应该可以:

^(|([1-9]){3,5}[1-8])$

谢谢Simon-不知道你说的“俘虏团体”是什么意思?这里最好解释一下: