Python 用正则表达式提取txt文件里包含的url的表达式

Python 用正则表达式提取txt文件里包含的url的表达式,第1张

这种结构化的数携租据交换格式,按照约定的格式来解析是最好的,而不是去用正则,这样能准确的取出数据中对应位置的数据。像这样

#!/usr/bin/env python

#-*- coding: utf-8 -*-

import json

with open('google.txt') as f:

    obj = json.loads(f.read())

urls = [e[0] for e in obj]

print(urls)

我用你上面的部唯判分数据做指隐改了一个测试用的google.txt,这个运行的结果是

[u'http://en.wikipedia.org/wiki/403(b)', u'http://www.investopedia.com/terms/1/403bplan.asp']

1-3

f = fopen('fasta.txt','r')

x = fread(f,'*char')

fclose(f)

x=x'

[st,ed,mh]=regexp(x,'(?<=>)\S*','start','end','match')

st=[st,length(x)+3]

for n=1:length(ed)

mkdir(mh{n})

f=fopen([mh{n} '\base.txt'],'w')

fwrite(f,x(ed(n)+3:st(n+1)-3))

fclose(f)

end

4-6

f = fopen('瞎滑hmrcds.txt','r')

x = fread(f,'*char')

fclose(f)

x=x'

[st,ed,mh]=regexp(x,'\<[A-Z]\w*','start','end','match')

st=[st,length(x)+2]

for n=1:length(ed)

f=fopen([mh{n} '缺碧\伏神举cds.txt'],'w')

g=fopen([mh{n} '\base.txt'],'r')

y=regexp(x(st(n):st(n+1)-2),'\<\d+','match')

z=fread(g)

z=char(z')

for m=1:length(y)/2

fwrite(f,[y{2*m-1} ' ' y{2*m} ' '])

h=fopen([mh{n} '\ex' num2str(m) '.txt'],'w')

fwrite(h,z(str2num(y{2*m-1}):str2num(y{2*m})))

fclose(h)

end

fclose(f)

fclose(g)

end

你连语言都不说。。正则虽然很强大,但目前为止还是需要编程语言的配合的,我就用python回答你的问题了。

>>> f1 = "/start/百度/end/的竞争对手有/start/360/end/、/start/谷歌/end/等互联网公司。"

>>> f2 = " 百度/nt 的/r 竞争/v 对手/n 有/p 360/num 、/fu 谷/n 歌/n 等/p 互联网/n 公司/n 。/fu"

>>> import re

>>> pat1 = re.compile("返核/start/([^ ]+?)/end/")

>>> pat2 = re.compile(" ([^ ]+?)/nt")

>>> m1 = pat1.findall(f1)

>>> m2 = pat2.findall(f2)

>>> for item in m1:

if item in m2:

print item

百度

你用java的话,我让世铅就不写了。。坦好你可以把两个文件匹配的内容分别放到两个list里,然后遍历第一个列表,如果调用list2.indexOf(item),如果返回大于等于0,说明这个元素在第二个列表中存在,否则不存在


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12254695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存