C# 如何将这些字符串与正则表达式匹配?
但链接本身就在前面。我如何能够匹配两个链接地址:C# 如何将这些字符串与正则表达式匹配?,c#,.net,regex,parsing,C#,.net,Regex,Parsing,但链接本身就在前面。我如何能够匹配两个链接地址: font-weight:bold 和线程标题: http://website/forum/f80/ThreadLink/ 编辑:Internet Explorer HTML代码非常不同: THREAD TITLE 试试这个: 线程标题 <A style="FONT-WEIGHT: bold" id=thread_title_565714 href="http://LinkAddress-565714/">Th
font-weight:bold
和线程标题:
http://website/forum/f80/ThreadLink/
编辑:Internet Explorer HTML代码非常不同:
THREAD TITLE
试试这个:
线程标题
<A style="FONT-WEIGHT: bold" id=thread_title_565714
href="http://LinkAddress-565714/">ThreadTitle</A> </DIV>
因此,您可以使用:
<A style="FONT-WEIGHT: bold" id=(?<id>.*?)[\s\S]*? href="(?<url>.*?)">(?<title>.*?)</A>
Regex-link=newregex(@“);
foreach(link.Matches中的匹配(输入))
{
控制台写入线(
“Id={0},Url={1},Title={2}”,
匹配.Groups[“id”]。值,
匹配.Groups[“url”].Value,
匹配。组[“标题”]。值);
}
*
匹配组1:Url
匹配组2:线程标题
这将匹配任何粗体链接。如果要匹配某个特定的组,请将(.*)替换为这些值。谢谢,如果链接是:linkaddress id,是否可以将其与正则表达式匹配,这样我就可以在不破坏其他组的情况下获得额外的groip?所以fulllink,title,linkid(后面的数字-:linkaddress-1234)我认为我们不需要首字母。*或者任何一个问号符号鲁本斯指出问号符号是必要的。请不要理会我的评论。“(?”)这是一种非贪婪的匹配模式;它的意思是:“找到一个引号,在下一个引号之前抓取最小的文本片段”;因此,在本例中,它与[^”]*相同,只是为了澄清,[^”]表示除双引号外的任何字符,而。表示任何字符。这意味着点可以匹配上一个双引号-您可能会匹配太多的hanks,如果链接是:linkaddress id,是否可以将其匹配到正则表达式匹配,因此我有一个额外的groip,而不破坏其他组?所以fulllink,title,linkid(后面的数字是-:linkaddress-1234)谢谢Ruben,现在可以查看了。嗨,Rubens,chrome(我的帖子)的html格式似乎与IE非常不同,IE是Winforms浏览器控件内部使用的格式。所以我在帖子里加了一个新的。我正在尝试使用您的模式更改它,但到目前为止,它有0个匹配项。如果你能把它添加到你的帖子中,我将不胜感激,谢谢。
.*<a href="(.*?)".*style="font-weight:bold">(.*?)</a>
Regex link = new Regex(@"<A style=""FONT-WEIGHT: bold"" id=(?<id>.*?)[\s\S]*? href=""(?<url>.*?)"">(?<title>.*?)</A>");
foreach (Match match in link.Matches(input))
{
Console.WriteLine(
"Id={0}, Url={1}, Title={2}",
match.Groups["id"].Value,
match.Groups["url"].Value,
match.Groups["title"].Value);
}
.*<a href="(.*?)".*style="font-weight:bold">(.*?)</a>
<a href="([^"]*)"[^>]*style="[^"]*font-weight:bold[^"]*"[^>]*>([^<]*)</a>
<a href="#dont_match_me">Don't match me</a><br/>
<a href="http://website/forum/f80/ThreadLink/ style="font-weight:bold">THREAD TITLE</a>