一个关于字符串处理的问题
判断文本框中的输入是否正确,该输入应该符合以下规则: 
 例如:dts-4A*2|yys02.950*3|kuyd/5*4| 
 即该字符串可分为几个子字符串,上例就可分为dts-4A*2|      yys02.950*3|      kuyd/5*4|三个字符串,每个子字符串有以下特点:以*、数字(大于0的自然数)、|结尾。*之前必须有字符,这些字符可为字母(大小写)、数字、.(点)、/(反斜杠)、-(连词符),但是不能包含*和|两种字符。整个输入字符串必须由1个或多个这样的子字符串组成。 
 怎样判断整个输入是否正确?应该将整个字符串分解成各个以*、数字(大于0的自然数)、|结尾的子字符串,然后用正则表达式判断吗?那么判断整个字符串格式的郑泽表达式该怎么写?判断各个子字符串的正则表达式有该怎么写? 
------解决方案---------------------_-#...   
 楼主如果把问题描述清楚了,一个帖子就可以了,没必要再开一帖的   
 ^(?:[a-zA-Z0-9/.-]+\*[1-9][0-9]*\|)+$   
 如上的写法,是先通过取得符合条件的单个子串,然后由这样的子串重复组成整个字符串,看是否匹配,这样在判断整个字符串的过程中,实际上就已经包含了对子串的判断了,如果不是要取出子串,就没必要再对子串进行单独判断了     
 感觉楼主对正则的理解还不是很透彻,说一下你的应用环境吧,是在验证控件里,还是在程序里,验证控件里就用上面的正则就可以了,如果是在程序里,用如下代码测试   
 string test =  "dts-4A*2|yys02.950*3|kuyd/5*4| "; 
 if (Regex.IsMatch(test, @ "^(?:[a-zA-Z0-9/.-]+\*[1-9][0-9]*\|)+$ ")) 
 { 
     MessageBox.Show( "符合要求,子串分别为: "); 
     MatchCollection mc = Regex.Matches(test, @ "[a-zA-Z0-9/.-]+\*[1-9][0-9]*\| "); 
     foreach (Match m in mc) 
     { 
         MessageBox.Show(m.Value); 
     } 
 } 
 else 
 { 
     MessageBox.Show( "不符合要求! "); 
 }