导航:首页 > 编程语言 > python正则匹配的数据乱码

python正则匹配的数据乱码

发布时间:2022-02-28 11:22:58

python 正则表达式 我想找到字符串中成对匹配的数据 请指教

针对你所给的示例字符串,貌似无法一次性地提取出后面的那个abc的,只能提取出前面的ammmmmde:
可以这样写:

>>> re.findall(r'(?:\d+)([a-zA-Z]+)', 'sssa 123ammmmmde234abc aaaaa 123ammmmmde234abc llll')
['ammmmmde', 'abc', 'ammmmmde', 'abc']

原因在于:正则从左往右查找,没有在找后面的abc时,也去找到之前的abc。
因为之前的abc,被在查找ammmmmde时,藏在中间了:
123ammmmmde234abc aaaaa 123ammmmmde

搜索过了,后面没法再搜索。

一个折中的办法是,用:
>>> re.findall(r'(?:\d+)([a-zA-Z]+)', 'sssa 123ammmmmde234abc aaaaa 123ammmmmde234abc llll')
['ammmmmde', 'abc', 'ammmmmde', 'abc']
找到上述的
['ammmmmde', 'abc', 'ammmmmde', 'abc']
然后你自己再另外提取,组合出来你要的:
[(ammmmmde, ammmmmde), (abc, abc)]

⑵ python 正则匹配中文问题

list打印是这样的,这是python的系统行为,改变不了。
如果不想用循环,可以用 print(u"\n".join(items))

⑶ Python正则表达式调用后出现乱码

是抓取苹果手机价格的吧.
别再cmd下执行了,在python自带的idle下F5调试,然后注意下趴下来的html是不是有乱码

⑷ 为什么python写的爬虫有时候抓取的数据是乱码

1. 使用chrome浏览器,打开示例页面http://tieba..com/p/3295185529?see_lz=1
2. 在帖子标题处,右键选择"审查元素",可以看到标题的源代码

3. 进行简单的分析,我们需要获取的是title后面的内容,根据页面实际内容,我们编写相应的正则表达式:
title_re=re.compile('<h1 class="core_title_txt " title="(.*?)"')
4. 同理,我们对帖子内容进行"审查元素",得到内容的源代码

5. 编写相应的正则表达式如下:
content_re=re.compile('<div id="post_content_\d*" class="d_post_content j_d_post_content ">(.*?)</div>')
6. 这样通过urllib2打开页面后,使用上述的正则表达式进行匹配,再对标题和文本内容进行相应的处理即可

⑸ python正则匹配不到想要的数据,感觉明明是对的啊

items = re.findall(r'',pagecode,re.S)

注意在后面要加上re.S

因为是多行匹配,下面写了一个只能抓一页信息的简陋版- -

-------------------------------------------------------------------------------------------

#coding:utf-8
importurllib2,re
classdown(object):


def__init__(self):
self.user_agent='Mozilla/4.0(compatible;MSIE5.5;WindowsNT)'
self.headers={'User-Agent':self.user_agent}

defgetPage(self):
try:
url='http://hdwan.net'

request=urllib2.Request(url,headers=self.headers)
response=urllib2.urlopen(request)
pageCode=response.read().decode('utf-8')
returnpageCode
excepturllib2.URLError,e:
ifhasattr(e,'reason'):
printu'连接失败...',e.reason
returnNone


defgetCont(self):
pageCode=self.getPage()
ifnotpageCode:
printu'页面加载失败...'
returnNone
items=re.findall('''<h2><ahref="(.*?)"rel="bookmark"target="_blank"title="(.*?)">.*?
</a></h2>''',pageCode,re.S)
foriinitems:
printu'电影名:%s 链接:%s '%(i[1],i[0])


if__name__=='__main__':
spider=down()
spider.getCont()

初学者一起加油。。。。

⑹ python中如何用正则表达式匹配汉字

name = re.search(r'导演: (.*?) 主演:.*? '.encode('utf-8'),text,re.S).group(1)

⑺ Python用正则表达式匹配含有中文的字符串,匹配不到

代码如下:

#coding=utf-8

importre
s=u'<li><aclass="nav-first"href="/">首页</a></li>'
r=re.compile(u'<li><asclass="[^"]*"shref="[^"]">(.*?)(?=</a></li>)')
ss=r.findall(s)
forstrinss:
printstr

运行结果:

⑻ python 用正则匹配网页中的中文字

patt=re.compile(ur'<a.*href="(.*?)".*官方下载地址1.*</a>')

⑼ python正则表达式,这样的字符串怎么匹配

根据提问者的问题,解答如下:

#查找所有除最后一个非zuobi姓名
xingmings=re.findall("(?isu)'([^']+?)']);cj",txt)
xingming_last=re.search("(?isu)'([^']+?)']);$",txt)
ifxingming_last:xingmings.append(xingmings[1])

第一行:查找所有满足条件的姓名,查找结果不包括txt的最后一个;

第二行:匹配txt的最后一个;

第三行:如果最后一个满足条件,则追加到xingmings中。

阅读全文

与python正则匹配的数据乱码相关的资料

热点内容
优信二手车解压后过户 浏览:63
Windows常用c编译器 浏览:780
关于改善国家网络安全的行政命令 浏览:835
安卓如何下载网易荒野pc服 浏览:656
javainetaddress 浏览:106
苹果4s固件下载完了怎么解压 浏览:1005
命令zpa 浏览:288
python编译器小程序 浏览:946
在app上看视频怎么光线调暗 浏览:542
可以中文解压的解压软件 浏览:595
安卓卸载组件应用怎么安装 浏览:915
使用面向对象编程的方式 浏览:342
程序员项目经理的年终总结范文 浏览:932
内衣的加密设计用来干嘛的 浏览:435
淮安数据加密 浏览:295
魔高一丈指标源码 浏览:984
松下php研究所 浏览:171
c回调java 浏览:403
梦幻端游长安地图互通源码 浏览:747
电脑本地文件如何上传服务器 浏览:315