C# 如何使用正则表达式获取括号之间的值

本文关键字:之间 获取 何使用 正则表达式 | 更新日期: 2023-09-27 18:34:28

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

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

我需要将(BIRIM FIYAT)和(服务(和(SATIŞ FİYATI(放在一个数组中。你能给我一个主意吗?

C# 如何使用正则表达式获取括号之间的值

可以使用

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);
}

试试这个:

"'(('s*?.*?)*?')"