首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这个正则表达式可以在Rubular中工作,而不能在Python中工作?

为什么这个正则表达式可以在Rubular中工作,而不能在Python中工作?
EN

Stack Overflow用户
提问于 2013-06-03 07:27:43
回答 1查看 117关注 0票数 3

我正在尝试使用正则表达式来解析SHOUTcast Total Time Spent Listening report

示例字符串:

代码语言:javascript
复制
#1         6,916,236.75      32,000,555        4,587,363         COOLfahrenheit 93
#2         4,457,026.25      3,328,957         1,168,349         idobi Radio: New. Music. Unfiltered. [url redacted]

正则表达式:

代码语言:javascript
复制
^\S+\s+(\S+)\s+(\S+)\s+(\S+)\s+(.+)$

Rubular下,这将返回:

代码语言:javascript
复制
Match 1
1.  6,916,236.75
2.  32,000,555
3.  4,587,363
4.  COOLfahrenheit 93
Match 2
1.  4,457,026.25
2.  3,328,957
3.  1,168,349
4.  idobi Radio: New. Music. Unfiltered. [URL redacted]

但是,当与Python的re.search()一起使用时,将返回None。我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-03 07:33:43

如果不看代码就不能确定,但我猜您忘了使用多行标志re.MULTILINE

Ruby的独特之处在于^/$总是匹配行首/行尾。在其他常见的版本中,除非使用m标志,否则不会这样做。

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

https://stackoverflow.com/questions/16888241

复制
相关文章

相似问题

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