c#如何在正则表达式的括号之间获取值

时间:2013-10-09 09:05:19

标签: c# regex

我需要使用正则表达式搜索字符串,然后获取括号之间的值。这是一个我想使用正则表达式的示例字符串。

(BIRIM FIYAT)+(SERVICE)*(SATIŞ FİYATI)

我需要在数组中获取(BIRIM FIYAT)和(SERVICE)以及(SATIŞFİYATI)。你能给我一个想法吗?

2 个答案:

答案 0 :(得分:2)

您可以使用C#中的模式\(.*?\)来获取匹配列表,然后可以将其转换为string[]或您需要的任何内容。

string str = "(BIRIM FIYAT)+(SERVICE)*(SATIŞ FİYATI)";
string pattern = @"\(.*?\)";

Regex r = new Regex(pattern);
MatchCollection matches = r.Matches(str);
string[] vals = matches.Cast<Match>().Select(p => p.Value).ToArray();
foreach (string m in vals)
{
    Console.WriteLine(m);
}

答案 1 :(得分:0)

试试这个:

"\((\s*?.*?)*?\)"