正则表达式从方括号中的子字符串中删除`.`

时间:2015-06-22 08:40:40

标签: c# .net regex string replace

我在C#中有这个正则表达式:

\[.+?\]

此正则表达式提取方括号之间的子字符串。但在此之前,我想删除这些子字符串中的.。例如,字符串

hello,[how are yo.u?]There are [300.2] billion stars in [Milkyw.?ay].

应该成为

hello,[how are you?]There are [3002] billion stars in [Milkyw?ay].

我不擅长形成正则表达式,所以不知道如何修改我的正则表达式。

此处的实例:https://regex101.com/r/pL5uA1/1

1 个答案:

答案 0 :(得分:3)

删除方括号内的所有点。

Regex.Replace(str, @"\.(?=[^\[\]]*\])", "");

DEMO

删除点或?

Regex.Replace(str, @"[.?](?=[^\[\]]*\])", "");