0

我有以下正则表达式:

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

它可以将字符串限制在一定范围内,但现在我需要更改它,以便它也允许空字符串。我怎样才能做到这一点?

4

2 回答 2

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

(?:如果您关心捕获的组,请使用,如果您不关心,则可以删除[1-9]. 但是,必须保留整个序列周围的括号,因此?量词仍然正确应用(前组零次或一次)。所以稍微短一点(也许更正确)的版本是:

^(?:\d{3,5}[1-8])?$

这将只返回一个匹配项,即作为一个整体的输入字符串。

于 2013-02-08T12:00:09.957 回答
0

这应该有效:

^(|([1-9]){3,5}[1-8])$
于 2013-02-08T12:03:17.213 回答