Regex 正则表达式匹配其中一个长度,但中间不匹配

Regex 正则表达式匹配其中一个长度,但中间不匹配,regex,string-length,maxlength,Regex,String Length,Maxlength,当我想测试输入字符串是否至少长度为10,最多长度为13时,我使用以下模式:[0-9]{10,13} 但是,如果字符串长度是10或13,并且两者之间没有任何值,您将如何测试呢 编辑:我看到两种主要的解决方案: 1) 使用长度1或长度2 2) 使用长度1+可选字符(长度2-长度1) 只是想知道:这两者之间有什么性能差异吗?使用这个表达式^((?:\d{3}){3,4}\d)$另一个选项是 ^[0-9]{10}(?:[0-9]{3})?$ 好吧,很难为这样的问题定义搜索字符串。@still_lear

当我想测试输入字符串是否至少长度为10,最多长度为13时,我使用以下模式:
[0-9]{10,13}

但是,如果字符串长度是10或13,并且两者之间没有任何值,您将如何测试呢

编辑:我看到两种主要的解决方案:

1) 使用长度1或长度2 2) 使用长度1+可选字符(长度2-长度1)


只是想知道:这两者之间有什么性能差异吗?

使用这个表达式
^((?:\d{3}){3,4}\d)$
另一个选项是

^[0-9]{10}(?:[0-9]{3})?$

好吧,很难为这样的问题定义搜索字符串。@still_learning nice finding:)@ArmanBimatov你可以检查一下这个,这个:)不是完全相同的问题。指定的副本询问是否有其他解决方案。此问题询问两个解决方案之间的性能差异。实际上,如果您对其进行测试,它将在12345678901(11个字符)时返回true。修复此问题,请再试一次不要从副本中删除解决方案,您有权将其作为副本关闭:)@HamZa很抱歉,我甚至没有看到重复的帖子或ans。我正在尝试构建我的解决方案。如果你相信它是好的,如果你不仍然是好的。这可能只是巧合。其他4个ans是相似的,事实上是相同的,这并不意味着它们是相互复制的!我删除了我的答案,因为所有人都用几乎相同的答案回答了这个问题,你得到了一个不相似的答案,如果你自己找到它,我发现它真的很有创意。但别忘了“清理”堆栈溢出。嗯,你不是“被迫”的,只是暗示…@HamZa如果我看到那份副本,我肯定会删除我的ans并在评论中发布ans。既然没有其他人发布过这个选项,我想保留它。我不想用欺骗式的回答淹没你!