gpt4 book ai didi

c# - 正则表达式围绕大括号拆分

转载 作者:太空狗 更新时间:2023-10-29 22:32:06 25 4
gpt4 key购买 nike

我有一个像这样的字符串:

"abc{d}efg{hi}{jk}lm{n}"

我想把它分成:

"abc","{d}","efg","{hi}","{jk}","lm","{n}"

我使用了这个模式 [{}] 结果是 "abc","d","efg","hi","","jk","lm ","n"

如何将 '{''}' 保留在那里?以及如何删除 '}''{' 之间的空 ""

最佳答案

使用全部匹配而不是拆分

记住 Match All and Split are Two Sides of the Same Coin .

使用这个正则表达式:

{[^}]*}|[^{}]+

查看 DEMO 中的匹配项.

查看匹配项:

var myRegex = new Regex("{[^}]*}|[^{}]+");
Match matchResult = myRegex.Match(yourString);
while (matchResult.Success) {
Console.WriteLine(matchResult.Value);
matchResult = matchResult.NextMatch();
}

解释

  • 在交替 | 的左侧,{[^}]*} 匹配 {content in braces}
  • 在右侧,[^{}]+ 匹配所有非 curl 字符

关于c# - 正则表达式围绕大括号拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25051058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com