C#正则表达式问题

storm0325 2011-11-22 03:47:19
有一个网页文件夹,文件夹里都是规范的同类型html文件,想用正则表达式把文件中的信息提取出来插到数据库中去,例如:

表达式是:(?<=<a href="mailto:).*?(?=\?) 用来提取邮箱名称

其中一个html文件 0000.html中一段内容为:"5">
<a href="mailto:methuselah.zeal@gmail.com?subject=%C9%EA%C7%EB%B9%F3%B9%AB%CB%BE%D4%DA51job%B7%A2%B2%BC%B5%C4%5BVC%2B%2B%C8%ED%BC%FE%D1%D0%B7%A2%B9%A4%B3%CC%CA%A6%5D%D6%B0%C

想问:1.怎样读取文件
2,怎样用正则表达式提取相应信息并存到string类型

有会的人指点一下,我效率会提高很多的。谢啦
...全文
70 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
storm0325 2011-11-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 barrysgy 的回复:]
string[] strFiles = Directory.GetFiles("目录路径", "*.html");
foreach (string str in strFiles)
{
string strHtmlFile = File.ReadAllText(str);
string strIGet = System.Text.RegularExpressions.Regex.M……
[/Quote]
我的意思是在遍历固定文件夹下的所有html文件中的文本,然后提取想要的信息(如所有的邮箱)插入到数据库
q107770540 2011-11-22
  • 打赏
  • 举报
回复
忽略大小写
storm0325 2011-11-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 q107770540 的回复:]
C# code

void Main()
{
Regex reg=new Regex("(?i)(?<=<a href=\"mailto:).*?(?=\\?)");
using (StreamReader sr = new StreamReader("d:\\000.html"))
{

……
[/Quote]
(?i)是什么意思
barrysgy 2011-11-22
  • 打赏
  • 举报
回复

string[] strFiles = Directory.GetFiles("目录路径", "*.html");
foreach (string str in strFiles)
{
string strHtmlFile = File.ReadAllText(str);
string strIGet = System.Text.RegularExpressions.Regex.Match(strHtmlFile, "youregex").ToString();
}

没太看懂
q107770540 2011-11-22
  • 打赏
  • 举报
回复

void Main()
{
Regex reg=new Regex("(?i)(?<=<a href=\"mailto:).*?(?=\\?)");
using (StreamReader sr = new StreamReader("d:\\000.html"))
{

string s = sr.ReadToEnd();
if(reg.IsMatch(s))
{
Console.WriteLine(reg.Match(s).Value);
}
}
//methuselah.zeal@gmail.com
}

111,125

社区成员

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

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

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