字符串来源是
<?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)
问题是:在第二种情况下,它只找到最后一次匹配BannerId =“56”。我该怎么做才能找到所有参数字符串?
答案 0 :(得分:0)
您是否考虑分两步制作?首先,您可以检查行是否匹配:
<?control.*/>
然后获取每个键值对:
(?<key>\S+)="(?<value>\S+)"