正则表达式用于匹配数字和带句点的一个点

时间:2019-05-17 17:29:53

标签: c# regex regex-lookarounds regex-group regex-greedy

我要尝试获得一种特定的模式。我正在寻找的模式如下: 13位数字,可能带有点,总共最少3位和最多13位数字(包括点,如果有的话),并以“ /”结尾,数字从1到6。

现在我有这种模式

^(\d*|\d*\.?\d*)\/[1-6]$

但这匹配1234/1或123456.890123456778 / 2

但这不是我所需要的

我尝试了几件事,但我想我错过了一些事情

^(\d*|\d*\.?\d*){3-13}\/[1-6]$

可能的比赛:

  • 1.3 / 1
  • 123456./2
  • 123456.890123 / 3
  • 1234567890123/4
  • 123/5

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

您的措辞有点令人困惑,但是如果我正确了,那么您可以使用此正则表达式,

^(?=.{5,15}$)\d+\.?\d*\/[1-6]$

说明:

  • ^-字符串的开头
  • (?=.{5,15}$)-这种积极向上的眼光可确保最小长度为5,最大长度为15(最后一个斜杠和数字加两个)
  • \d+\.?\d*-开始捕获具有一个或多个数字的文本,后跟可选的点.和更多零个或多个数字
  • \/[1-6]-匹配一个斜线和一位至六位数字
  • $-字符串结尾

Regex Demo

让我知道这是否对您有用,否则请列出无法解决的情况。