我有以下正则表达式:
^([1-9]){3,5}[1-8]$
它可以限制某个范围内的字符串,但现在我需要更改它,以便它也允许空字符串。我怎么能这样做?
答案 0 :(得分:1)
^(([1-9]){3,5}[1-8])?$
如果您关心捕获的群组,请使用(?:
,否则,您可以删除[1-9]
周围的括号。但是,必须保留整个序列周围的括号,因此?
量词仍然正确应用(在组零或一次之前)。因此,稍短(可能更正确)的版本将是:
^(?:\d{3,5}[1-8])?$
这将返回一个匹配,这是整个输入字符串。
答案 1 :(得分:0)
这应该有效:
^(|([1-9]){3,5}[1-8])$