c#正则表达式最近的字符

时间:2015-04-30 15:45:57

标签: c# regex

我在字符串上使用正则表达式,我遇到的问题是字符串的左边没有任何内容,它不会多次在字符串中重复出现。

">something">tofind</a>

这一部分:

</a>

在字符串中是唯一的,但是

">

左边的部分不是

如何使表达式取第一个“&gt;到(匹配)值的左边而不是从字符串开头的第一个

\">(.*)</a>

由于这个原因无法正常工作,并且给了我“&gt; tofind并且理所当然。

任何解决方案?我希望我的问题的解决方案在表达式内,而不是其他代码。由于我无法对我可能遇到的每个特殊问题进行硬编码修复。

非常感谢!

代码处理字符串

                    var regex = new Regex(regexstring);

                    var matches = regex.Matches(line);

                    foreach (var singleuser in matches.Cast<Match>().ToList())
                    {
                        allusernames.Add(singleuser.Groups[1].Value);
                    }

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容..

\">([^>]*)</a>

说明:

  • \">匹配文字\">
  • ([^>]*)匹配>以外的所有字符([^>]被否定设置)
  • </a>匹配文字</a>

请参阅DEMO