字符串的一部分出现1次,一部分出现多次

本文关键字:一部分 1次 字符串 | 更新日期: 2023-09-27 18:29:08

字符串源为

<?control Alias="QuestionarySuccess" />
<?control Alias="DetailDetail" IsDetail="1" IsReview="1" DetailId="456" EntityID="789" ViewId="123" Style="tyuui" Type="2" BannerId="56" /> 

这里可以是任何参数计数(例如IsDetail="1",IsReview="1)(0或更多,任何参数名称)。我应该找到所有的参数:有名称和值。我用过这样的正则表达式:

(new Regex("<''?control( (''S+)='"(''S+)'")+", RegexOptions.IgnoreCase|RegexOptions.Singleline)).Matches(template)

问题是:在第2种情况下,它只找到最后一个匹配BannerId="56"。如何查找所有参数字符串?

字符串的一部分出现1次,一部分出现多次

您是否考虑过分两步制作?首先,您可以检查行是否匹配:

<?control.*/>

然后用得到每个键值对

(?<key>'S+)="(?<value>'S+)"