正则表达式:使用.NET删除()内部的所有内容

时间:2016-02-26 00:43:33

标签: regex f#

我正在使用System.Text.RegularExpressions

我有一个这样的字符串:

 let foo = "XXX XXX (YYY YYY YYY)"

在应用正则表达式之后我希望它是“XXX XXX”:

let bar = Regex.Replace(foo, pattern,"")

我试过了:

let pattern = @"\(\w*\)"

let pattern = @"\(\*\)"

有人可以给我一些指导吗? 感谢

2 个答案:

答案 0 :(得分:4)

您需要转义括号,因为它们是用于捕获组的特殊正则表达式字符。

\(.*\)将匹配括号及其中的所有内容。

正如Eric指出的那样,如果你还想匹配括号前的空格,你应该使用\s*\(.*\)

答案 1 :(得分:1)

你可以:

var foo = "XXX XXX (YYY YYY YYY)";
var pattern = @"\s*\([^\)]+\)";
string bar = Regex.Replace(foo, pattern, "");

正则表达式替换后,bar为:

" XXXX XXX"