我在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].
我不擅长形成正则表达式,所以不知道如何修改我的正则表达式。
答案 0 :(得分:3)
删除方括号内的所有点。
Regex.Replace(str, @"\.(?=[^\[\]]*\])", "");
删除点或?
。
Regex.Replace(str, @"[.?](?=[^\[\]]*\])", "");