【发布时间】:2014-03-19 20:42:58
【问题描述】:
假设我有一个字符串:
data = 'MESSAGE: Hello world!END OF MESSAGE'
我想得到'MESSAGE: ' 和下一个大写单词之间的字符串。消息中从来没有任何完全大写的单词。
我试图通过在re.search 中使用这个正则表达式来得到这个:
re.search('MESSAGE: (.*)([A-Z]{2,})', data).group(1)
在这里我希望它输出'Hello world!'- 但它总是返回错误的结果。在正则表达式中很容易找到出现在其他两个字符串之间的子字符串,但是如何在与正则表达式匹配的字符串之间找到子字符串。我曾尝试将其设为原始字符串,但这似乎不起作用。
我希望我能很好地表达自己——我在 Python 方面拥有丰富的经验,但对正则表达式不熟悉。如果可能的话,我想要一个解释以及如何使我的特定示例代码工作的示例。非常感谢任何有用的帖子。
顺便说一句,我使用的是 Python 3.3。
【问题讨论】:
-
我不明白这一点:“你如何在与正则表达式匹配的字符串之间找到子字符串?”
标签: python regex string python-3.x