我已经接近了,但是我不确定该如何处理恢复匹配对象。如果我做
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/