Sea*_* C. 5 c# regex string split
我有一个字符串:
"abc{d}efg{hi}{jk}lm{n}"
Run Code Online (Sandbox Code Playgroud)
我希望它分为:
"abc","{d}","efg","{hi}","{jk}","lm","{n}"
Run Code Online (Sandbox Code Playgroud)
我使用这种模式[{}]
,结果是"abc","d","efg","hi","","jk","lm","n"
如何保持'{'
和'}'
在那里?我如何取出空""
之间'}'
和'{'
?
使用这个正则表达式:
{[^}]*}|[^{}]+
Run Code Online (Sandbox Code Playgroud)
查看DEMO中的匹配项.
要查看匹配项:
var myRegex = new Regex("{[^}]*}|[^{}]+");
Match matchResult = myRegex.Match(yourString);
while (matchResult.Success) {
Console.WriteLine(matchResult.Value);
matchResult = matchResult.NextMatch();
}
Run Code Online (Sandbox Code Playgroud)
说明
|
,{[^}]*}
匹配{content in braces}
[^{}]+
匹配任何非currs的字符