我想在特定关键字后获取字符串。
例如:
import re
def findWholeWord(w):
return re.compile(r'\b({0})\b'.format(w), flags=re.IGNORECASE).search
abc = "<StephenCurry Pro='ThreepointShooter'>MVP1times</StephenCurry>"
if findWholeWord("SeedNumber")(abc):
dddd = re.search('(?<=ThreepointShooter)(.\w+)', abc)
mvp = dddd.gorup()
print (mvp)
print ("found")
else:
print ("not found")
我希望结果假设&#39; MVP1times&#39; 。
有没有更好的方法可以在关键字后找到特定的字符串?结果可能是字符串,数字甚至是上面的结果。
感谢您的帮助!
答案 0 :(得分:1)
您可以使用环视来获取>
和<
所包围的字符串(假设这保持一致):
>>> s = "<StephenCurry Pro='ThreepointShooter'>MVP1times</StephenCurry>"
>>> re.search(r'(?<=\>)[^<]+(?=\<)', s).group(0)
'MVP1times'
答案 1 :(得分:0)
您可以将常规表达更改为:(?<=ThreepointShooter['|"]>)(.\w+)
。 See it live on http://pythex.org/
我不确定你要做什么,但你甚至不需要在这里使用lookbehind表达。