我已经接近了,但是我不确定该如何处理恢复匹配对象。如果我做

p = re.search('[/@.* /]', str)


我会得到任何以@开头并以空格结尾的单词。这就是我要的。但是,这将返回我不知道该怎么做的Match对象。查找和返回以@开头的字符串的最有效的计算方式是什么?

例如,

"Hi there @guy"


经过适当的计算后,我将返回

guy

最佳答案

以下正则表达式可以满足您的需求:

import re
s = "Hi there @guy"
p = re.search(r'@(\w+)', s)
print p.group(1)


它也适用于以下字符串格式:


s = "Hi there @guy "#注意尾随空格
s = "Hi there @guy,"#注意结尾的逗号
s = "Hi there @guy and"#注意下一个单词
s = "Hi there @guy22"#注意尾随数字
s = "Hi there @22guy"#注意前导数字

关于python - 查找并返回具有指定前缀的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2956353/

10-14 10:34