在c#regex matcher中匹配html标记

在c#regex matcher中匹配html标记,c#,regex,C#,Regex,我正在尝试匹配下面的…中的内容 “\n地址:\n埃本市埃本赛博城65号汉内西公园酒店\n\电话:(230)403 7200\n\n传真:(230)403 7201\n联系人:\n\p>\n” 有没有办法做到这一点。目前我正在使用 Match result = Regex.Match(box.InnerHtml, @"<\/strong>(.*?)<strong>", RegexOptions.ECMAScript); Match result=Regex.Match(b

我正在尝试匹配下面的…中的内容

“\n地址:
\n埃本市埃本赛博城65号汉内西公园酒店\n
\电话:(230)403 7200
\n\n传真:(230)403 7201
\n联系人:
\n\p>\n”

有没有办法做到这一点。目前我正在使用

Match result = Regex.Match(box.InnerHtml, @"<\/strong>(.*?)<strong>", RegexOptions.ECMAScript);
Match result=Regex.Match(box.InnerHtml,@“(.*?”,RegexOptions.ECMAScript);

但是我没有得到我想要的内容。

我误解了你对我上次回答的问题。我相信你要找的regex是
(.*).*
这将返回一个匹配的

\n埃本赛博城埃本埃尼西公园酒店65号电话:
(230)403 7200
\n\n传真:(230)403 7201
我误解了你关于我上次回答的问题。我相信你要找的regex是
(.*).*
这将返回一个匹配的

\nHennessy Park Hotel,65号,Ebene Cybercity,Ebene\n
\电话:(230)4037200
\n\n传真:(230)403 7201
\n

这将允许您跨多行选择包含强标记的内容

<strong>(.|\n)*?<\/strong>
(.|\n)*?

这将允许您在强标记之间选择内容:

([\s\s]*?)

这将允许您选择结束strong标记和开始strong标记之间的内容:

([\s\s]*?)

我希望这有帮助

这将允许您选择内容,包括跨多行的强标记

<strong>(.|\n)*?<\/strong>
(.|\n)*?

这将允许您在强标记之间选择内容:

([\s\s]*?)

这将允许您选择结束strong标记和开始strong标记之间的内容:

([\s\s]*?)
我希望这有帮助

要使用C#,您需要将调用更改为add
RegexOptions.Singleline
。由于具有
[FlagsAttribute]
,因此可以将多个标志与按位or运算符(
|
)组合

您的新通话如下所示(滚动至末尾):

Match result=Regex.Match(box.InnerHtml,@“(.*)”,RegexOptions.ECMAScript|RegexOptions.Singleline);
有关使用标志的完整说明,请参阅本文:

要使用C#,您需要将调用更改为添加
RegexOptions.Singleline
。由于具有
[FlagsAttribute]
,因此可以将多个标志与按位or运算符(
|
)组合

您的新通话如下所示(滚动至末尾):

Match result=Regex.Match(box.InnerHtml,@“(.*)”,RegexOptions.ECMAScript|RegexOptions.Singleline);

有关使用标志的完整描述,请参阅本文:

Relevant:Relevant:我认为他不想匹配“地址”,“电话:”等。他想匹配实际数据值。我相信你是对的@Pluto。我已经编辑了答案。我认为他不想匹配“地址:”、“电话:”,等等。他想匹配实际的数据值。我相信你是对的@Pluto。我已经编辑了答案。这会将每个字符单独分组,您将无法轻松访问结果。要使此解决方案起作用,您需要使用
([\s\s]*?)
,而不是当前强标记之间的内容。Pluto,您完全正确。我会更新我的帖子。这会将每个角色单独分组,你将无法轻松访问结果。要使此解决方案起作用,您需要使用
([\s\s]*?)
,而不是当前强标记之间的内容。Pluto,您完全正确。我会更新我的帖子。
<\/strong>([\s\S]*?)<strong>
Match result = Regex.Match(box.InnerHtml, @"<\/strong>(.*?)<strong>", RegexOptions.ECMAScript | RegexOptions.Singleline);