c# 正则表达式去标签中的值

JS 2014-10-16 02:37:54
<html>
<title>test</title>
<body>
<a href="">test1</a>
<a href="">test2</a>
<a href="">test3</a>
<a href="">test4</a>
<p></p>
</body>
<html>

试了一些方法都没能取出啦,我想通过正则表达式取出标签<a>中的值,就是test1,test2,test3,test4,请高手能相助,多谢多谢!
...全文
178 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
JS 2014-11-07
  • 打赏
  • 举报
回复
感谢各位的帮助。
jy251 2014-10-16
  • 打赏
  • 举报
回复
引用 2 楼 CJavaer 的回复:
[quote=引用 1 楼 guanyongxin 的回复:]
Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""]?)(?<url>[^'""\s>]+)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>");
            MatchCollection mc = reg.Matches(str);
            foreach (Match m in mc)
            {
                m.Groups["text"].Value.ToString()
                }
            }
谢谢你的回答,忘了描述清楚了。 <a href="">test1</a> <a href="">test2</a> <a href="">test3</a> <a href="">test4</a> <a href="">test1abc</a> <a href="">test2abc</a> <a href="">test3abc</a> <a href="">test4abc</a> 不止是找出a的值,还要匹配出a值中包含abc的部分,请怎么写呢?[/quote] 给你一个url,不是病毒,放心,认真的看完,你能能学会正则,半小时就够了,几年了,这个url我收藏的 http://www.oicto.com/html/regex.htm
快乐起航2020 2014-10-16
  • 打赏
  • 举报
回复
跟着学习辣
sxldfang 2014-10-16
  • 打赏
  • 举报
回复

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;
namespace sxLdfang
{
    class Program
    {
        static void Main(string[] args)
        {
            string html = @"<html>
<title>test</title>
<body>
<a href="""">test1</a>
<a href
="""">test2</a>
<a href="""">test3</a>
<a href="""">test4</a>
<p></p>
</body>
<html>";
            string pattern = @"(?i)(?<=<a[^>]*>)[^<]*(?=</a>)";
            MatchCollection mc = Regex.Matches(html, pattern);
            foreach (Match m in mc)
            {
                Console.WriteLine(m.Value);
            }
            Console.ReadKey();
        }
    }
}


运行结果:
test1
test2
test3
test4
juckxu 2014-10-16
  • 打赏
  • 举报
回复

List<string> Items=new List<string>();
         Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""]?)(?<url>[^'""\s>]+)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>");
            MatchCollection mc = reg.Matches(str);
            foreach (Match m in mc)
            {
                string str = m.Groups["text"].Value.ToString();
               if (str.Contains("abc"))
               {
                   Items.Add(str);
               }
            }

JS 2014-10-16
  • 打赏
  • 举报
回复
引用 1 楼 guanyongxin 的回复:
Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""]?)(?<url>[^'""\s>]+)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>");
            MatchCollection mc = reg.Matches(str);
            foreach (Match m in mc)
            {
                m.Groups["text"].Value.ToString()
                }
            }
谢谢你的回答,忘了描述清楚了。 <a href="">test1</a> <a href="">test2</a> <a href="">test3</a> <a href="">test4</a> <a href="">test1abc</a> <a href="">test2abc</a> <a href="">test3abc</a> <a href="">test4abc</a> 不止是找出a的值,还要匹配出a值中包含abc的部分,请怎么写呢?
guanyongxin 2014-10-16
  • 打赏
  • 举报
回复
Regex reg = new Regex(@"(?is)<a[^>]*?href=(['""]?)(?<url>[^'""\s>]+)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>");
            MatchCollection mc = reg.Matches(str);
            foreach (Match m in mc)
            {
                m.Groups["text"].Value.ToString()
                }
            }

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧