(([abc]\*\d+)\,)*([abc]\*\d+)
对,要用*

解决方案 »

  1.   

    好像不太完善:如果乘号(*)前有字母只能是abc中的一个,没有也算正确,以逗号隔开的部分都正确才算正确
      

  2.   

    ^[a|b|c]{0,1}[\*]{1}[\d]+[,[a|b|c]{0,1}[\*]{1}[\d]+]*$
      

  3.   

    ab*7错误
    a*2正确,b*5正确
    a*2,b*5正确
    ab*7,b*5错误
      

  4.   

    如果允许乘号前有多个字母如: ab*3,a*2,3,abc*3,aabb*5
    @"^((([abc]+\*)?\d+)\,)*(([abc]+\*)?\d+)$"如果允许乘号前只允许一个字母如: a*3,a*2,3,c*3,b*5
    @"^((([abc]\*)?\d+)\,)*(([abc]\*)?\d+)$"如果不允许有单独数字如: a*3,a*2,abc*3,b*5
    @"^((([abc]+\*)+\d+)\,)*(([abc]+\*)+\d+)$"如果可以没有字母但有乘号:a*3,*5,*8,abc*8
    @"^((([abc]?\*)\d+)\,)*(([abc]?\*)\d+)$"