首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析python中的文件- regex

解析python中的文件- regex
EN

Stack Overflow用户
提问于 2016-07-02 06:20:47
回答 2查看 3.4K关注 0票数 0

我想从另一个txt文件导出一个URL列表到一个新的txt文件。第一个txt文件如下所示:

http://pastebin.com/raw/10hvUbTi电子邮件: 631关键词: 0.0 http://pastebin.com/raw/5f0bnCq9电子邮件:61个关键词: 0.0

我正在尝试创建一个如下所示的列表:

URL URL

我没有得到任何的输出

有人能帮忙吗?

代码语言:javascript
复制
import re
import urllib2
filename = 'C:\\file.txt'
pattern = ('^\S*')
with open(filename) as f:
    for line in f:
        if pattern in line:
            print line
EN

回答 2

Stack Overflow用户

发布于 2016-07-02 08:19:45

你可以去:

代码语言:javascript
复制
import re

rx = re.compile(r'^(?P<email>[^|\n]+)', re.MULTILINE)
with open("emails.txt") as f:
    raw_data = f.read()
    emails = [match.group('email') for match in rx.finditer(raw_data)]
    print emails

显然,emails.txt需要在这里进行调整。

regex101.com上的演示

票数 1
EN

Stack Overflow用户

发布于 2016-07-02 06:45:33

您根本没有使用正则表达式。您只是测试原始字符串是否在行中。使用regex,

代码语言:javascript
复制
pattern = re.compile(r'^\S*')

注意模式字符串之前的r,它代表原始字符串,在regex中非常重要。

若要在特定行中搜索pattern,请使用

代码语言:javascript
复制
pattern.search(line)

它将返回一个MatchObject是找到匹配的,或者None是没有找到的。关于python正则表达式的更多参考可以在文档中找到。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38157161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档