使用正则表达式将字符串拆分为{花括号}子字符串,但要包含{}
本文关键字:字符串 包含 正则表达式 拆分 | 更新日期: 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
参考:
如果在正则表达式中使用捕获括号。分割表达式,任何捕获的文本都包含在结果字符串数组中。