使用正则表达式将字符串拆分为{花括号}子字符串,但要包含{}

本文关键字:字符串 包含 正则表达式 拆分 | 更新日期: 2023-09-27 18:08:06

我有这个字符串:

var s = "Cat{biscuits}Flaps";

输出应该是:


{饼干}
翅膀

我可以遍历这个:

Regex.Split(input, @"{(?<p>[^}]*)}");

但是它去掉了饼干中的{}

你能建议一个包含{}的正则表达式来给出上面的输出吗?

使用正则表达式将字符串拆分为{花括号}子字符串,但要包含{}

在整个模式周围使用一个捕获组:

var chunks = Regex.Split(input, @"({[^}]*})");
                                  ^       ^  

参见c#演示:

var s = "Cat{biscuits}Flaps";
var chunks = Regex.Split(s, @"({[^}]*})");
Console.WriteLine(string.Join("'n", chunks));

参见Regex.Split参考:

如果在正则表达式中使用捕获括号。分割表达式,任何捕获的文本都包含在结果字符串数组中。