Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有以下正则表达式:
^([1-9]){3,5}[1-8]$
它可以将字符串限制在一定范围内,但现在我需要更改它,以便它也允许空字符串。我怎样才能做到这一点?
^(([1-9]){3,5}[1-8])?$
(?:如果您关心捕获的组,请使用,如果您不关心,则可以删除[1-9]. 但是,必须保留整个序列周围的括号,因此?量词仍然正确应用(前组零次或一次)。所以稍微短一点(也许更正确)的版本是:
(?:
[1-9]
?
^(?:\d{3,5}[1-8])?$
这将只返回一个匹配项,即作为一个整体的输入字符串。
这应该有效:
^(|([1-9]){3,5}[1-8])$