首页 > 解决方案 > 正则表达式在字符串后查找数字

问题描述

我得到了这个值?({mvp:375760,ms:6}),我希望只能在 ms 之后获得数字 6:而不是之前的数字。我对正则表达式相当陌生,我不知道如何排除 ms。我能够获得ms:6但不仅仅是价值 6 本身。

我试过ms.[0-9]了,但那得到'ms:6'

标签: python-3.xregex

解决方案


您可以使用积极 (?<=)的后向查找来查找其他值之后的值。在这里,您需要字符串后面的数字ms:。那看起来像(?<=ms:)\d+

import re

s = '?({mvp:375760,ms:6})'

re.search(r'(?<=ms:)\d+', s).group()
# '6'

或者如果可能有多个:

re.findall(r'(?<=ms:)\d', s)
# ['6']

推荐阅读