我的正则表达式没有给我想要的结果......
我正在尝试用一些标记为'## word / sentence ##'的单词或句子来解析一个冗长的页面。
所以我的输入是“## Unit ## random text ## Unit Role ## more random text ## Unit Role ##更随机的文本”。
所以我编写了一个代码,可以让我捕获双哈希之间的三个单词/句子。
string strSource= "##Unit## random text ##Unit Role## more random text ##The Unit Role## even more random text";
MatchCollection col = Regex.Matches(strSource, @"##([A-Za-z0-9\s]+)\##", RegexOptions.IgnoreCase);
string[] fields = new string[col.Count];
for (int i = 0; i < fields.Length; i++)
{
fields[i] = col[i].Groups[1].Value; // (Index 1 is the first group)
}
然而,这只给我“单位”和“单位角色”。它跳过了“单位角色”。显然这是因为空间,所以我该如何纠正呢?
答案 0 :(得分:1)
这个正则表达式适用于我的机器和http://regexr.com/
##[\w\s]+##
答案 1 :(得分:1)
我不认为它是你的正则表达式,而是你提取结果的方式。正则表达式正常:regex101.com/r/nX4zD5/1