初试正则表达式,遇到点问题,特来请教...
想定义两个函数,sumd和sumc,并且支持加减法。比如: 
 sumd(a) 
 sumd(a)+sumd(c) 
 sumd(a)+sumd(c)-sumc(b) 
 等   
 Regex.IsMatch(txtExpress,   @ "^(sum(c|d)\(\w+\))((\+|-)sum(c|d)\(\w+\))*?$ ")   
 这样似乎是没有问题,但当需要处理多行的时候,就有问题了, 
 Regex.IsMatch(txtExpress.Text,   @ "^(sum(c|d)\(\w+\))((\+|-)sum(c|d)\(\w+\))*?$ ",RegexOptions.Multiline)   
 只会判断最后一行是否符合,比如 
  "...\r\n...\r\nsumd(1)+sumc(1)-sumc(1) " 
 就返回true,请问应该怎么判断整个公式是否符合呢?
------解决方案--------------------没太明白的说,你现在是什么问题,用这个的时候 
 Regex.IsMatch(txtExpress.Text, @ "^(sum(c|d)\(\w+\))((\+|-)sum(c|d)\(\w+\))*?$ ",RegexOptions.Multiline) 
 对于多行,你给个具体的例子吧,然后说下你是想让它返回true还是false,说下你现在的做法哪里有问题了
------解决方案--------------------按你现在的这个例子,在你的基础上改了一下   
 Regex.IsMatch(yourStr, @ "^(sum(c|d)\(\w+\))(\s*(\+|-)sum(c|d)\(\w+\))*?$ ")   
 这种要求不能用RegexOptions.Multiline参数 
------解决方案--------------------按照 过客 博客的说法:在CSDN搜 "正则表达式 ",然后一个一个回答。。。   
 这个是我写的   
 Regex.IsMatch(yourStr, @ "(([\+\-]*)*sum[dc]\(\w+\)\1*)+ ")   
 匹配: 
 sumd(a) 
 +sumd(c) 
 -sumc(b) 
 或者: 
 sumd(a) 
 sumd(a)+sumd(c) 
 sumd(a)+sumd(c)-sumc(b)