要删除的Regex `.`来自方括号中的子字符串

本文关键字:字符串 方括号 删除 Regex | 更新日期: 2023-09-27 17:59:07

我在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

要删除的Regex `.`来自方括号中的子字符串

删除方括号内的所有点。

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

演示

删除点或?

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