正则表达式用于捕获由初始分隔符分隔的多个组

本文关键字:分隔 分隔符 用于 正则表达式 | 更新日期: 2023-09-27 18:30:30

我有一个这样的字符串:

|T1| This is some text for the first tag |T2| this is some text for the second tag

我需要解析出标签和与每个标签关联的文本。标签事先不知道,但它们由 '|'w+'| 分隔。

我知道我可以在这里做一些事情来捕获组等等,但是在 powershell 中弄乱之后,我能想到的最好的办法是首先使用 ExplicitCapture 选项'|'w+'|.*隔离每个配对,然后从那里解析出标签和文本。

但这正在做双倍的工作,完全不是超级酷的haxor。正则表达式专业版的方法是什么?

编辑:实际上我意识到已经晚了,我误读了我的结果。以上实际上不起作用,所以现在我什至没有一个糟糕的解决方案。

正则表达式用于捕获由初始分隔符分隔的多个组

'|(?<tag>'w+)'|(?<text>[^|]*)

火柴 |T1| This is some text for the first tag |T2| this is some text for the second tag

 |T1| This is some text for the first tag 
 |T2| this is some text for the second tag

编辑:使用正则表达式组获取匹配部分;

var tagName = match.Groups["tag"].Value;
var text = match.Groups["text"].Value;

已移至命名组而不是编号