昨天给我的表达式有些小问题

问题描述:

昨天给我的表达式有些小问题
您昨天给我的这个var myMatch = Regex.Matches(txt,@"(?:\}\$|^)([^${]+)(?:\$\{|$)");
这是我的字符串:
string str =“dedede\r\n\r\n\t\t/// \r\n\t\t/// ${c.ColumnDesc}$\r\n\t\t/// ${c.ColumnDesc}$ 9fer”
想要的结果是 dedede\r\n\r\n\t\t/// \r\n\t\t/// 和 \r\n\t\t/// 和 9fer
还是特殊字符的事情
1个回答 分类:综合 2014-09-22

问题解答:

我来补答
你没有打开多行模式的话,匹配应该是正确的啊.
你现在的结果是什么样的.
再问: 不好意思刚才给你写错了 是字符串中有 {} 等等的特殊字符
再答: 有{}字符的话,就用下面的。你说的{}等等的特殊字符,除了{}还有什么?只要没有$的话,可以用下面的 var myMatch = Regex.Matches(txt, @"(?:\}\$|^)([^$]+)(?:\$\{|$)"); 如果既可能有{},也可能有$的话,就用下面的 var myMatch = Regex.Matches(txt, @"(?:\}\$|^)([\s\S]+?)(?:\$\{|$)");
再问: 呵呵 字符串是用户输入的 所以保不齐有哪些字符串 Regex.Matches(txt, @"(?:\}\$|^)([\s\S]+?)(?:\$\{|$)"); 可以兼容其他特殊字符码?
再答: 只要你中间别有${就行,如果有${,那就没办法了
 
 
展开全文阅读
剩余:2000
下一页:格子里面填一下