^.+[::]{1}(?<value>\d+(\.\d+)?\s?[\~\-]\s?\d+(\.\d+)?).+$

解决方案 »

  1.   

    "^.+[::]\d+(.\.\d+)?\s?[\~\-]\s?\d+(\.\d+)?.+$"
    如果不是你没有写全的话,写成这样就可以了,不过看起来这个正则精确度不高。
    [::]\d+(.\.\d+)?\s?[\~\-]\s?\d+(\.\d+)?这个部分是例子
    ":222.333 - 222"
    ":111~111.444"
    ":2.0 ~0.9999999"
    这些都可以匹配。这个部分的前后可以是任意字符,而且必须有一个以上。
      

  2.   

    以任意字符开始匹配,后跟中/英文的:,然后匹配可以带小数点的数字,后面可加空格,然后匹配~或者-符号,后面可加空格,再次匹配可带小数的数字,然后匹配任何字符至结尾匹配示例:   abcdef:123.23-234xyz 分组value 则为 123.23-234
               abcdef:123.23 ~ 234xyz 分组value 则为 123.23 ~ 234
      

  3.   

    捕获组用处 匹配  取值例如 ^<a[^>]*?href=(['""]?)[^'""]+?\1[^>]*?>  其中的\1便是捕获组,匹配第一个括号里面的匹配,前面是",后面必须也是"可以利用索引得到匹配项 比如m.Groups[1].Value
    取值,就是你上面的命名捕获组,取值就是m.Groups["value"].Value
      

  4.   

    正则基础之——捕获组(capture group) 
      

  5.   

    捕获组的概念我有了解,只是搞不清他这个式子的目的,因为没有发现value拿来干嘛