怎么用正则表达式区分一下的输入的数组字符串:
 匹配 int 类型的  输入值为: 5,15,7,33,8
 匹配double类型的 输入值为: 5.67,8.1,9.3,10.26
 匹配char类型的  输入值为:  a,c,d,f,l
 匹配string类型的  输入值为  aac,bb,ef,hl,cc怎么进行匹配?  

解决方案 »

  1.   


    // int
    @"\b\d+\b"
    // double
    @"\b\d+(.\d+)?\b"
    // char
    @"\b[a-zA-Z]\b"
    // string
    @"\b\w+\b"
      

  2.   

    用正则的思路比较麻烦
    你可以用
    try catch结构,
    先把输入项用逗号分割再用 TryParse()之类尝试
      

  3.   

    1.   ^\d+$
    2.   ^\d+(\.\d+)?$
    3.   ^[a-zA-Z]$
    4.   ^.+$
      

  4.   


    那如果是 string类型 aac,bb,ef,hl,cc 的字符串,包括那些逗号。如何区分字符串的数组和 上面其他类型的数组呢?
      

  5.   


    你可以先 Split 一下,分成多个 substring,然后一个个循环判断。
      

  6.   

    ^\d+(?:,\d+)*$
    ^\d+(?:\.\d+)?(,\d+(?:\.\d+)?)*$
    (?i)^[a-z](,[a-z])*$
    ^[^,]+(,[^,]+)*$