正则表达式查找多值分类字段中的所有标签

Regex find all Labels in a mulit-value taxononomy field

我有以下正则表达式

\b(?!^;#)\w+\s*\w+\|\b

和这个示例字符串。

-1;#Class Study|0b4dac95-9e17-4af9-b849-6d283a99b561;#-1;#Matrix|dda77641-7b25-40f9-bb65-a0bca13776d3";

我只需要匹配 ;#

之后的标签
       string multipleFieldValue = "-1;#Class Study|0b4dac95-9e17-4af9-b849-6d283a99b561;#-1;#Matrix|dda77641-7b25-40f9-bb65-a0bca13776d3";
        var regex = new Regex(@"\b(?!^;#)\w+\s*\w+\|\b");
        string[] labels = multipleFieldValue.Split(new[] { ";#" },StringSplitOptions.None );
        var matches = regex.Matches(multipleFieldValue);


        Assert.AreEqual(2, matches.Count);

当前这个 returns 标签还有 returns | 我想消除 |还有

只需将 | 和单词边界包裹在前瞻性

\b(?!^;#)\w+\s*\w+(?=[?^(|)]\b)

Demo here