送分~~~正则小问题,上阿,先来先得喽

sophia2000 2009-05-22 02:14:55
求一正则

要取能过滤出 :以"<img"开头,"/>"结尾,其中"src"属性中不包含"sina"这个字符,不包含"id"属性


例如
<img src="http://www.baidu.com" /> 可以
<img src="http://www.sina.com" /> 不行
<img id="121" src="http://www.baidu.com" /> 不行

先来先得阿,兄弟们
...全文
205 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
utopia54 2009-05-27
  • 打赏
  • 举报
回复
string strPattern = @"^<img[^>]*id=[^>]*sina[^>]*/>$|^<img[^>]*sina[^>]*/>$|^<img[^>]*id=[^>]*/>$";

bool isOrNo = true;
if (Regex.IsMatch(strInput, strPattern, RegexOptions.IgnoreCase))
{
isOrNo = false; //不符合的通过匹配!
}
可以试试...
newdigitime 2009-05-23
  • 打赏
  • 举报
回复
这个最好用两次正则来处理
,第一次匹配出<img *** />
并取出这段字符串,再对match出的字符串进行
第二次再匹配"id="或"sina",如有一条件ismatch,那就false
alan0128 2009-05-23
  • 打赏
  • 举报
回复
怎么感觉像在吵架的
觉v醒 2009-05-23
  • 打赏
  • 举报
回复
mark
newdigitime 2009-05-23
  • 打赏
  • 举报
回复
@"\<img[^sina&&^id\=]\/img>+?"

参数中要加入忽略大小写
sophia2000 2009-05-22
  • 打赏
  • 举报
回复
真是无聊阿,好好的贴,非要弄水了,调皮阿
兄弟们别学他们阿,呵呵
sophia2000 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 HDNGO 的回复:]
从前有个小孩,他很调皮
后来,他死了
[/Quote]

不会是。。。吧?
sophia2000 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 jack20080808 的回复:]
引用 26 楼 sophia2000 的回复:
引用 19 楼 jack20080808 的回复:
你自己说话的方式就有问题,发个30分的帖,还小问题,先来先得喽,就好比发个50分的帖问别人要一个系统源码一样,你说话谦虚一点,哪怕是零分帖也照样会有人回答。


看了这位兄弟的话,我为自己的行为很心痛阿
也为您的执教很感动阿
我这就到csdn各个0分贴里找您的身影去

很不幸,零分帖我回答的也不少...
[/Quote]

这有什么不幸的?
真奇怪加搞笑阿
HDNGO 2009-05-22
  • 打赏
  • 举报
回复
从前有个小孩,他很调皮
后来,他死了
jack20080808 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 sophia2000 的回复:]
引用 19 楼 jack20080808 的回复:
你自己说话的方式就有问题,发个30分的帖,还小问题,先来先得喽,就好比发个50分的帖问别人要一个系统源码一样,你说话谦虚一点,哪怕是零分帖也照样会有人回答。


看了这位兄弟的话,我为自己的行为很心痛阿
也为您的执教很感动阿
我这就到csdn各个0分贴里找您的身影去
[/Quote]
很不幸,零分帖我回答的也不少...
sophia2000 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 jack20080808 的回复:]
你自己说话的方式就有问题,发个30分的帖,还小问题,先来先得喽,就好比发个50分的帖问别人要一个系统源码一样,你说话谦虚一点,哪怕是零分帖也照样会有人回答。
[/Quote]

看了这位兄弟的话,我为自己的行为很心痛阿
也为您的执教很感动阿
我这就到csdn各个0分贴里找您的身影去
sophia2000 2009-05-22
  • 打赏
  • 举报
回复
各位兄弟无心答题也就当笑话看了吧,博君一乐,也不错阿,哈哈
sophia2000 2009-05-22
  • 打赏
  • 举报
回复
好,我承认我说话有问题,无所谓的事,跟您道个歉
你要是没事干了,的确可以每个帖子找汉语语法问题
到这里发帖的人,心情估计都是挺急迫的,也没有太注意这个

您提到【30分】,【小问题】,【先来先得】这几个不妥的地方
我也有自己的看法,与您讨论一下
我之所以说是小问题,是站在自己的位置上,
向各位高手请教,对我来说是大问题,对您高手来说是小问题
希望各位指点一二,照您说我改说是大问题,如果我说是大问题,您来了难免有一份感慨
就这样的问题也配成为大问题,贻笑大方吧

先来先得,是我心情很急迫,也希望各位抬手的功夫也就搞定,没打算占用大家太多时间
所以用了先来先得,并没有别的意思
陌上花花 2009-05-22
  • 打赏
  • 举报
回复
帮顶了
fupx2008 2009-05-22
  • 打赏
  • 举报
回复
Up
梅子 2009-05-22
  • 打赏
  • 举报
回复
我也友情帮顶下。。。不懂正则。。学习。学习
sophia2000 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 Rainsome 的回复:]
不客气地说,楼主要学的不止是编写代码。

蛋帖的问题,都回答过。
[/Quote]


很客气的说,这句话可以与君共勉
jack20080808 2009-05-22
  • 打赏
  • 举报
回复
你自己说话的方式就有问题,发个30分的帖,还小问题,先来先得喽,就好比发个50分的帖问别人要一个系统源码一样,你说话谦虚一点,哪怕是零分帖也照样会有人回答。
sophia2000 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 Rainsome 的回复:]
蛋帖的问题,都回答过。
[/Quote]

成,先谢谢您
您的建议我简单的测试了一下
<img />
<img src="www.sina.com"/>
这样就不成,上面回了一次,可能您没看到

再次感谢了
HDNGO 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sophia2000 的回复:]
成,我现在就要3条能写吗?

1、" <img"开头,
2、"/>"结尾,
4、不包含"id" 这个单词

[/Quote]

这个很像面试~~HOHO~
加载更多回复(16)
数据分析实战项⽬--链家租房数据可视化分析 导语:前⼏天舍友送了⼀本介绍的书籍,由此联想到,好久没有爬过⽹站了,但之前学的东西差不多全还给秦⽼板了(给我们上python的 ⽼师)。于是⽴马上⽹找了⼏篇博客,重温了⼀下⼏个包的知识点,动了⼀下⼩⼿,这不就有了等下要和你们讲的故事喽。 (⼀)项⽬介绍 (⼀)项⽬介绍 1. ⼯具 ⼯具 pycharm 2020.1.5 2. 内容 内容 本项⽬分为两部分: + 数据可视化分析 (1)爬⾍:⽤包爬取链家租房⽹页内容——BeautifulSoup解析——re正则表达式匹配我们需要的内容——sqlite3保存数据 (2)分析:pandas清洗分析数据——pyecharts进⾏可视化分析 (⼆)爬⾍部分 (⼆)爬⾍部分 ( (1)爬⾍第⼀步,了解我们将要爬取⽹页的信息 )爬⾍第⼀步,了解我们将要爬取⽹页的信息 如图所⽰:⼩框是链家⽹页租房的⽹址,⼤框是我们想要从⽹页中获取的内容。 由于链家的限制, 把页⾯往下拉到底部就可以看见,⼀次最多只能访问100页,⼀个页⾯有30套房,就是说,我们⼀次最多能看见 3000套房⼦的信息。但是实际上的租房房源远不3000。怎么办呢?我们可以通过增加限制条件来获取到尽量全的房源。 现在问题⼜来了,按区域爬⾍,区域我们是确定知道的,因为北京统共就那么⼏个区,但是⽹址中还需要知道各个区域的页数,各个 区域的页数⼜不相同,那么各个区域分别有多少页呢?这⾥我⽤了⼀个⽐较笨的⽅法,但⽅法虽笨,实现还是挺简单的,就是先爬取每个区 域的第⼀页,页⾯的最后有显⽰最⼤⽹页数,由此我们就可以得到最⼤⽹页数。现在先Fn+F12⼀下来看看⽹页的html⽂件吧~ 从上图,我们可以看出页数的信息在div class="content__pg"下⾯的内容,由此我们可以据其写出正则匹配表达式,并在div class="content__pg"下⾯的内容找到最⼤页数。 本次爬⾍⽤的是requests包,⾸先构造⼀个响应头部header,⽤于伪装,然后构造get请求并发起,将爬取下来的数据存于html中, 详见代码ask_url函数。 在get_page函数中调⽤ask_url函数,循环爬取每个区的第⼀页,⼀边爬⼀边⽤BeautifulSoup解析,并在解析过的数据中,⽤ re.findall()在div class="content__pg"下⾯的内容匹配找出最⼤页数。get_page函数中⽤了两个for循环,⼀个调⽤regions中的区,然 后爬⾍,⼀个⽤来查找爬取内容的最⼤页数。(本次爬⾍的限制条件,即区域,只有13个,其他4个较为边缘的区没有计⼊) ( (2)正式爬取⽹页信息并解析匹配 )正式爬取⽹页信息并解析匹配 从上⾯,我们得到了每个区的页数,并保存于pagelist⾥⾯,返回。接下来,就要正式爬取我们想要的内容了。⾸先,设置⼀个空列 表来存放我们解析匹配后得到的数据。两个for循环,调⽤ask_url函数,才能得到regions⾥⾯所有区各⾃的页数的全部内容。 爬取⼀页内容,解析⼀页。 再⼀次Fn+F12,可以看见,我们想要获取的内容,都在div class_="content__list--item",我们先print⼀个或者多个解析过后的 soup,观察其结构和内容,可根据其中内容⽤re.compile()构造出我们所需内容的正则表达式,在这⾥就不⼀⼀展开了,有兴趣的uu找找 相关正则表达式的博客。 之后就开始匹配我们需要的内容,⽤re包⾥⾯的findall⽅法找出和正则表达式匹配的内容,并先将内容暂时存在⼀个data列表⾥,等 到所有想要得到的内容都匹配完成之后,再加⼊datalist列表中。这⼀步,我们会得到所有想要的信息。 1 import requests 2 from bs4 import BeautifulSoup 3 import re 4 import sqlite3 5 import pandas as pd 6 7 def main(): 8 baseurl = 'https://bj.lianjia.com/zufang/' 9 pagelist = get_page(baseurl) #得到每个区的页数 10 datalist = get_data(baseurl, pagelist) #得到所有数据 11 dbpath = "zufang.db" 12 savedata_2_db(datalist, dbpath) #存⼊数据库 13 14 findpage = re.compile(r'data-totalpage="(\d*)" data-ur') #构建正则匹配,最⼤页数 15 16 17 def get_page(baseurl): #找出每个

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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