我有一个html文件,包含未知的令牌数量。关键字将在稍后由用户分配给某些数据。我想确定html包含多少令牌。 代币可以看起来像:¤SomeID¤或¤Name¤甚至¤SomeLongerWord¤。
有人可以给我一个带有正则表达式的完整代码,它会将令牌从字符串中收集到一个列表中吗?
示例:
string ExtractFromThis = "Hello ¤Name¤, do you speak ¤SomeLanguage¤?"
List<string> IldLikeToHave = Magic(ExtractFromThis);
//IldLikeToHave should contain {"¤Name¤", "¤SomeLanguage¤"}
谢谢!
答案 0 :(得分:4)
你可以使用一个简单的正则表达式,例如¤.*?¤
(注意非贪婪的星),匹配¤
中包含的任何内容。这是一个sample。您可以使用Regex.Matches()获取所有匹配项。
如果您对分隔符中的文本感兴趣,可以将量词放在捕获组中,如¤(.*?)¤
,并使用Match.Groups()
获取每个匹配的捕获组
我不做C#,但这里有一个它应该是什么样子的样本:
string pattern = @"¤(.*?)¤";
string input = "Hello ¤Name¤, do you speak ¤SomeLanguage¤?";
MatchCollection matches = Regex.Matches(input, pattern);
List<string> l = new List<string>();
foreach (Match match in matches) {
l.add(match.Groups[1].Value);
}