首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python中的简单正则表达式

python中的简单正则表达式
EN

Stack Overflow用户
提问于 2012-02-03 19:37:08
回答 3查看 111关注 0票数 0

我试图简单地获取以下内容中冒号之后的所有内容:

代码语言:javascript
运行
复制
hfarnsworth:204b319de6f41bbfdbcb28da724dda23

然后是以下空格之前的所有内容:

代码语言:javascript
运行
复制
29ca0a80180e9346295920344d64d1ce ::: 25basement

这就是我所拥有的:

代码语言:javascript
运行
复制
for line in f: 
    line = line.rstrip() #to remove \n
    line = re.compile('.* ',line) #everything before space. 
    print line

有什么建议可以给我指明正确的方向吗?谢谢!

另外,如果我想要返回匹配的字符串,re.compile是正确的函数吗?我也是python的新手。谢谢!!

EN

回答 3

Stack Overflow用户

发布于 2012-02-03 19:48:31

代码语言:javascript
运行
复制
string = "hfarnsworth:204b319de6f41bbfdbcb28da724dda23"
print(string.split(":")[1:])
string = "29ca0a80180e9346295920344d64d1ce ::: 25basement"
print(string.split(" ")[0])
票数 4
EN

Stack Overflow用户

发布于 2012-02-03 19:41:17

首先,您可能应该仔细查看re.compile的文档。它不希望第二个参数是要查找的字符串。尝试使用re.searchre.findall。例如:

代码语言:javascript
运行
复制
>>> s = "29ca0a80180e9346295920344d64d1ce ::: 25basement"
>>> re.findall('(\S*) ', s)[0]
'29ca0a80180e9346295920344d64d1ce'
>>> re.search('(\S*) ', s).groups()
('29ca0a80180e9346295920344d64d1ce',)

顺便说一句,这不是正则表达式的任务。考虑使用一些简单的字符串操作(如split)。

票数 3
EN

Stack Overflow用户

发布于 2012-02-03 19:44:05

这个正则表达式似乎起作用了

代码语言:javascript
运行
复制
r"^(?:[^:]*\:)?([^:]*)(?::::.*)?$"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9128055

复制
相关文章

相似问题

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