我创建了一个方法,可以搜索字符串占位符,这是我使用正则表达式。 目前,我尝试通过添加分组功能来扩展此方法。
例如,如果我有这个字符串:
"Hallo {g:test1} asdasd {p:test1} sdfsdf{o:test1}"
我想:
我无法弄清楚如何在C#中做到这一点有人可以帮助我吗?
目前我编程了这个:
private string test() {
string pattern = @"\{(.*?)\}";
string query = "Hallo {g:test1} asdasd {p:test1} sdfsdf{o:test1}";
var matches = Regex.Matches(query, pattern);
foreach (Match m in matches) {
Test = m.Groups[1].Value;
}
return Test;
}
答案 0 :(得分:3)
试试这个:
\{(?:.:)?(.*?)\}
它将匹配不包括字母和冒号的文本。
要将此限制为包含特定字母的字符串:
\{(?:#:)(.*?)\} replacing # with the letter you are filtering on
e.g。
\{(?:g:)(.*?)\}
答案 1 :(得分:0)
\{.:test1\}
\{g:.+?\}