正则表达式没有从字符串中获取每个匹配的项目

时间:2013-10-22 23:53:55

标签: c# asp.net regex

我需要有关正则表达式模式的帮助。

我有这个字符串:

test = "/*testing 1*/Name: /*Testing 2*/ My Name" 

我需要从字符串中删除每个/**contents **/

我使用正则表达式进行过滤,如下代码:

Regex rx = new Regex(@"/\*[^>]+\*/");
Template = rx.Replace(Template, match => { return String.Empty; });

但我得到的结果只是“我的名字”,预期结果是“姓名:我的名字”

1 个答案:

答案 0 :(得分:4)

将正则表达式更改为/\*[^>]+?\*/

?之后的+使其非贪婪,因此正则表达式会在第一个*/而非最后一个停止。请注意,如果嵌套/* ... */块,则正则表达式将失败。