C#正则表达式问题

时间:2011-07-04 12:42:22

标签: c# html regex

任何人都可以帮我构建一个正则表达式来搜索以下字符串:

<b>The</b> <b>brown</b> <b>fox</b> jumped over the <b>lazy</b> <b>dog</b>.

表达式应与<b>The</b> <b>brown</b> <b>fox</b>匹配,然后匹配<b>lazy</b> <b>dog</b>。在此示例中,表达式应仅返回两个匹配项,谢谢。

4 个答案:

答案 0 :(得分:2)

这是你要找的吗?

Regex r = new Regex(@"<b>[^<]*</b>(?:\s*<b>[^<]*</b>)*");

String input = @"<b>The</b> <b>brown</b> <b>fox</b> jumped over the <b>lazy</b> <b>dog</b>.";
foreach (Match m in r.Matches(input))
{
  Console.WriteLine(m.Value);
}

输出:

  

<b>The</b> <b>brown</b> <b>fox</b>
  <b>lazy</b> <b>dog</b>

答案 1 :(得分:1)

这适用于您的具体示例:

@"The brown fox|lazy dog"

此外,如果您需要匹配任何更简单的短语,只需将|the simple phrase附加到此模式。

答案 2 :(得分:0)

The brown fox|lazy dog

以上是正则表达式,可以根据您的输入生成两个匹配项。

答案 3 :(得分:0)