正则表达式未从字符串中获取每个匹配项

4

我希望你能协助处理正则表达式模式。

我有一个字符串:

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

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

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

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

但是我得到的结果只有"My Name",期望的结果是"Name: My Name"。
1个回答

4

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接