Asp.net 正则表达式:由';-';

Asp.net 正则表达式:由';-';,asp.net,regex,Asp.net,Regex,有人能帮我用正则表达式吗?我想把我的贴在这里,但Stackoverflow似乎不允许,所以这里有一个屏幕截图: 它必须匹配任何数字或由“-”分隔的任何2个数字,并且只能匹配第一个数字。您可以使用 ^\d+(?:\。\d+)(?:\s*-\s*\d+(?:\。\d+)$ 见a 详情: ^-字符串的开头 \d+(?:\.\d+)-一个或多个数字以及一个和一个或多个数字的可选序列 (?:\s*-\s*\d+(?:\。\d+)?-一个可选的 \s*-\s*-用零个或多个空格括起来的连字符 \d+

有人能帮我用正则表达式吗?我想把我的贴在这里,但Stackoverflow似乎不允许,所以这里有一个屏幕截图:

它必须匹配任何数字或由“-”分隔的任何2个数字,并且只能匹配第一个数字。

您可以使用

^\d+(?:\。\d+)(?:\s*-\s*\d+(?:\。\d+)$
见a

详情:

  • ^
    -字符串的开头
  • \d+(?:\.\d+)
    -一个或多个数字以及一个
    和一个或多个数字的可选序列
  • (?:\s*-\s*\d+(?:\。\d+)?
    -一个可选的
    • \s*-\s*
      -用零个或多个空格括起来的连字符
    • \d+(?:\.\d+)
      -一个或多个数字以及一个
      和一个或多个数字的可选序列
  • $
    -字符串结束

应该是
^\d+(?:\.\d+)(?:\s*-\s*\d+(?:\.\d+))$
事实上,RegularExpressionAttribute只允许完整的字符串匹配,您不需要锚,也不必担心只匹配第一个匹配。谢谢这项功能