c# 正则表达式往标签中的值
c# 正则表达式去标签中的值
<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,请高手能相助,多谢多谢!
------解决思路----------------------
------解决思路----------------------
------解决思路----------------------
------解决思路----------------------
给你一个url,不是病毒,放心,认真的看完,你能能学会正则,半小时就够了,几年了,这个url我收藏的
http://www.oicto.com/html/regex.htm
<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,请高手能相助,多谢多谢!
------解决思路----------------------
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()
}
}
------解决思路----------------------
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);
}
}
------解决思路----------------------
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
------解决思路----------------------
给你一个url,不是病毒,放心,认真的看完,你能能学会正则,半小时就够了,几年了,这个url我收藏的
http://www.oicto.com/html/regex.htm