Regex temp = new Regex(@"^\d+(\.\d+)?$");@什么意思啊,双引号之间的什么意思啊,
看代码时看到的,网上查了一下,说是正则表达式,
能给详细的说下吗?先谢谢了

解决方案 »

  1.   

    Regex temp = new Regex(@"^\d+(\.\d+)?$"); 
    @表示取消转义字符
    "" 这里面的是正则表达式
    ^ 字符串开头的标志,表示其后的字符位于字符串的开始部分
    \d 表示数字 一般情况下和 [0-9] 等效  不过在C#中\d还包括全脚的数字 而[0-9]只表示半脚的  []表示字符集  表示字符集中的任何一个字符
    + 表示其前的字符或集合至少连续出现一次
    () 组 可以用来组合一些有特殊含义的字符串 或者 用于获取匹配字符等等
    \. 表示小数点也就是英文的句号  而. 是正则的元字符,表示除换行符之外的任意字符  但是如果是单行模式的话.表示任意字符  所以要表示其自身需要转义
    ? 表示其前的字符或集合最多出现一次  也就是 ()中匹配的东西最多出现一次
    $ 表示字符串的结尾 其前的字符必须位于字符串的结尾在这里 括号中表示的是小数的部分  加上?之后表示有小数部分或者没有