C# 求一正则表达式得到固定标签中的内容

chenxin7786 2013-10-22 03:35:26
比如 <span id="txtProvince">北京</span>
我要得到“北京”两个字 求大神帮忙。
...全文
236 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2013-10-23
  • 打赏
  • 举报
回复
1. (?i) 是忽略大小写的意思 2. 是的
yaojunyi3721 2013-10-23
  • 打赏
  • 举报
回复
引用 6 楼 q107770540 的回复:
string Province=Regex.Match(" <span id=\"txtProvince\">北京</span>",@"(?i)(?<=<(span)\sid=""txtProvince"">)[^<>]+?(?=</\1>)").Value;
版主你这正则我有两个地方不明白: 1.(?i)是什么意思 是(?im-nsx)的简写吗 这个是什么意思呢 2.@有对字符串中引号的转义作用吗 和""和\"一样的效果吗
chenxin7786 2013-10-23
  • 打赏
  • 举报
回复
引用 10 楼 caozhy 的回复:
[quote=引用 5 楼 chenxin7786 的回复:] [quote=引用 1 楼 caozhy 的回复:] (?<=\<span\sid\=\"txtProvince\"\>).+?(?=\<\/span\>)
您的正则不对,感谢回答[/quote] 你所谓的“对”就是直接贴码得程序啊。[/quote]不是,是用正则测试工具试的。
threenewbee 2013-10-22
  • 打赏
  • 举报
回复
引用 5 楼 chenxin7786 的回复:
[quote=引用 1 楼 caozhy 的回复:] (?<=\<span\sid\=\"txtProvince\"\>).+?(?=\<\/span\>)
您的正则不对,感谢回答[/quote] 你所谓的“对”就是直接贴码得程序啊。
chenxin7786 2013-10-22
  • 打赏
  • 举报
回复
引用 7 楼 chenxin7786 的回复:
[quote=引用 6 楼 q107770540 的回复:]
string Province=Regex.Match(" <span id=\"txtProvince\">北京</span>",@"(?i)(?<=<(span)\sid=""txtProvince"">)[^<>]+?(?=</\1>)").Value;

大神,<span id="txtProvince">北京</span> 标签外是整个web页面的源代码。如果是整个页面的源代码就读不出来北京两个字了。拜托再改改。
string url = "http://www.showji.com/search.htm?m=15110167786";
string retStr = new System.Net.WebClient().DownloadString(url);
retStr是所有源代码,现在是在这个源代码找到北京两个字。过了马上结贴。。[/quote]

有的哦,您看,FireBug页面上 都有北京两个字的哦。。标签结构也是对的哦
q107770540 2013-10-22
  • 打赏
  • 举报
回复
你给出的网址里根本就没有 北京 ,怎么可能取的啊,亲! <li>归属省份:<span id="txtProvince"></span></li>
chenxin7786 2013-10-22
  • 打赏
  • 举报
回复
引用 6 楼 q107770540 的回复:
string Province=Regex.Match(" <span id=\"txtProvince\">北京</span>",@"(?i)(?<=<(span)\sid=""txtProvince"">)[^<>]+?(?=</\1>)").Value;
大神,<span id="txtProvince">北京</span> 标签外是整个web页面的源代码。如果是整个页面的源代码就读不出来北京两个字了。拜托再改改。 string url = "http://www.showji.com/search.htm?m=15110167786"; string retStr = new System.Net.WebClient().DownloadString(url); retStr是所有源代码,现在是在这个源代码找到北京两个字。过了马上结贴。。
q107770540 2013-10-22
  • 打赏
  • 举报
回复
string Province=Regex.Match(" <span id=\"txtProvince\">北京</span>",@"(?i)(?<=<(span)\sid=""txtProvince"">)[^<>]+?(?=</\1>)").Value;
chenxin7786 2013-10-22
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
(?<=\<span\sid\=\"txtProvince\"\>).+?(?=\<\/span\>)
您的正则不对,感谢回答
chenxin7786 2013-10-22
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
(?<=\<span\sid\=\"txtProvince\"\>).+?(?=\<\/span\>)
大神能多写两句 用C#代码取出来不?灰常感谢 string Province="取出来的内容";
chenxin7786 2013-10-22
  • 打赏
  • 举报
回复
引用 楼主 chenxin7786 的回复:
比如 <span id="txtProvince">北京</span> 我要得到“北京”两个字 求大神帮忙。
大神能多写两句 用C#代码取出来不?灰常感谢 string Province="取出来的内容";
q107770540 2013-10-22
  • 打赏
  • 举报
回复
(?i)(?<=<(span)\sid="txtProvince">)[^<>]+?(?=</\1>)
threenewbee 2013-10-22
  • 打赏
  • 举报
回复
(?<=\<span\sid\=\"txtProvince\"\>).+?(?=\<\/span\>)

110,567

社区成员

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

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

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